Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Olivier Miakinen
Le 04/12/2008 18:38, Davy Crockett a écrit :
Je recherche une fonction php qui me retourne la valeur apres la virgule du type :
fonction(4.3) => 3 fonction (17.999) => 999
Je suppose que tu voulais dire « après le point décimal » plutôt qu'après la virgule. Par ailleurs, tes deux exemples ne me semblent pas suffisants pour spécifier exactement ce que tu veux.
fonction(4.300) => 3 ou 300 ? fonction(4.003) => 3 ou "003" ?
Selon le cas, c'est-à-dire selon que tu veuilles traiter des chaînes ou des nombres décimaux, la réponse sera différente.
Solution 1 : $res = array_pop(explode('.', $n))
Résultats attendus ($n est une chaîne) : 4.3 -> 3 17.999 -> 999 4.300 -> 300 4.003 -> 003
Résultats attendus ($n est un nombre) : 4.3 -> 3 17.999 -> 999 4.300 -> 3 4.003 -> 3
Cette fonction existe-t-elle en PHP ?
Laquelle exactement ? ;-)
Le 04/12/2008 18:38, Davy Crockett a écrit :
Je recherche une fonction php qui me retourne la valeur apres la
virgule du type :
fonction(4.3) => 3
fonction (17.999) => 999
Je suppose que tu voulais dire « après le point décimal » plutôt
qu'après la virgule. Par ailleurs, tes deux exemples ne me semblent
pas suffisants pour spécifier exactement ce que tu veux.
fonction(4.300) => 3 ou 300 ?
fonction(4.003) => 3 ou "003" ?
Selon le cas, c'est-à-dire selon que tu veuilles traiter des chaînes ou
des nombres décimaux, la réponse sera différente.
Solution 1 :
$res = array_pop(explode('.', $n))
Résultats attendus ($n est une chaîne) :
4.3 -> 3
17.999 -> 999
4.300 -> 300
4.003 -> 003
Je recherche une fonction php qui me retourne la valeur apres la virgule du type :
fonction(4.3) => 3 fonction (17.999) => 999
Je suppose que tu voulais dire « après le point décimal » plutôt qu'après la virgule. Par ailleurs, tes deux exemples ne me semblent pas suffisants pour spécifier exactement ce que tu veux.
fonction(4.300) => 3 ou 300 ? fonction(4.003) => 3 ou "003" ?
Selon le cas, c'est-à-dire selon que tu veuilles traiter des chaînes ou des nombres décimaux, la réponse sera différente.
Solution 1 : $res = array_pop(explode('.', $n))
Résultats attendus ($n est une chaîne) : 4.3 -> 3 17.999 -> 999 4.300 -> 300 4.003 -> 003
Résultats attendus ($n est un nombre) : 4.3 -> 3 17.999 -> 999 4.300 -> 3 4.003 -> 3
Cette fonction existe-t-elle en PHP ?
Laquelle exactement ? ;-)
Mickael Wolff
Davy Crockett a écrit :
j'ai tapé un code qui me donne 0.3 et 0.999, mais ce qu'il me faut c'est le 3 et le 999.
Cette fonction existe-t-elle en PHP ?
Je ne pense pas vu que ça n'a pas de sens mathématique. Comment fais-tu la différence entre 0.003 et 0.300 si tu ne récupère pas la virgule (ou la grandeur) ?
Plus prosaïquement, quel est le but de la man½uvre ?
// si tu veux les deux première décimale : $decimal = (int) ($nombre - (int) $nombre) * 100 ;
À noter que tu risque d'avoir des problèmes d'arrondis en raison de la représentation mémoire des nombres flottants... et... ton nombre est un nombre en représentation machien ou une chaine de caractère représentant un nombre ?
j'ai tapé un code qui me donne 0.3 et 0.999, mais ce qu'il me faut c'est
le 3 et le 999.
Cette fonction existe-t-elle en PHP ?
Je ne pense pas vu que ça n'a pas de sens mathématique. Comment
fais-tu la différence entre 0.003 et 0.300 si tu ne récupère pas la
virgule (ou la grandeur) ?
Plus prosaïquement, quel est le but de la man½uvre ?
// si tu veux les deux première décimale :
$decimal = (int) ($nombre - (int) $nombre) * 100 ;
À noter que tu risque d'avoir des problèmes d'arrondis en raison de
la représentation mémoire des nombres flottants... et... ton nombre est
un nombre en représentation machien ou une chaine de caractère
représentant un nombre ?
j'ai tapé un code qui me donne 0.3 et 0.999, mais ce qu'il me faut c'est le 3 et le 999.
Cette fonction existe-t-elle en PHP ?
Je ne pense pas vu que ça n'a pas de sens mathématique. Comment fais-tu la différence entre 0.003 et 0.300 si tu ne récupère pas la virgule (ou la grandeur) ?
Plus prosaïquement, quel est le but de la man½uvre ?
// si tu veux les deux première décimale : $decimal = (int) ($nombre - (int) $nombre) * 100 ;
À noter que tu risque d'avoir des problèmes d'arrondis en raison de la représentation mémoire des nombres flottants... et... ton nombre est un nombre en représentation machien ou une chaine de caractère représentant un nombre ?