Bonjour, j'essaie de récupérer la partie droite d'un float en php et je ne sais pas du tout comment je peux m'y prendre. Est-ce que quelqu'un pourrait me renseigner svp ?
merci d'avance
Bonjour, j'essaie de récupérer la partie droite d'un float en php et je ne sais pas du tout comment je peux m'y prendre. Est-ce que quelqu'un pourrait me renseigner svp ?
merci d'avance
un truc comme ca ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 $pi = 3.14; $trois = intval($pi); $virgulequatorze = $pi - $trois;
si tu veux virer le point, tu as plus qu'a passer la variable $quatorze en string, et faire un substring sur le premier caractere![]()
Salut
Je pense que la solution de substr() me semble bien pratique, en effet :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 $float = 3.14; echo substr($float, strpos($float, '.')+1);
Mes articles - Zend Certified Engineer (PHP + Zend Framework)
Ressources PHP - Ressources Zend Framework - Cours et tutoriels pour apprendre PHP - Forum PHP
Merci bcp ca marche super.
et merci d'avoir changé le titre kirkis, suis nouveau sur le forum donc du coup je saurais comment poster la prochaine fois![]()
A ton service !
N'oublie pas le bouton "Résolu", en bas à gauche ^^
Bonne continuation !
Mes articles - Zend Certified Engineer (PHP + Zend Framework)
Ressources PHP - Ressources Zend Framework - Cours et tutoriels pour apprendre PHP - Forum PHP
tfff
comme ce message est placé dans google je déterre. dsl.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 $pi = 3.1415 echo 'gauche ', floor($pi), ' et droite ', $pi - floor($pi);
Salut, tout comme la personne ci-dessus, ce résultat remontant souvent dans google, je propose un code plus rapide que ceux cités ci-dessus.
C'est un code beaucoup plus optimisé que les précédents, qui utilise le transtypage, c'est à dire le casting explicite en int.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 $floatNumber=4.573; $intPart=(int)$floatNumber; $decimalPart=(int)str_replace('.','',$floatNumber-(int)$floatNumber);
(int)5.73 transformera 5.73 en int, donc le retour sera 5
Attention cependant à son utilisation, mal utilisé ça peut provoquer des erreurs de calculs, ainsi:
(int)((0.1+0.7)*10) retournera 7 et non pas 8 :S !
Une version améliorée, avec l'arrondis :
$PourcentValue=01.05605565650;
$PourcentValue=int($PourcentValue+0.5);
Pour récupérer le nombre après la virgule d'un décimal on peut utiliser en PHP "explode" je donne un exemple de la méthode pour que ce soit plus clair:
On a le nombre décimal suivant:
$test = 4.05;
On utilise la fonction explode pour scinder la décimale au niveau du ".":
$nbrTest = explode(".", $test);
Ce qui nous donne un tableau de deux éléments (avant et après le "."):
array (size=2)
0 => string '4' (length=1)
1 => string '05' (length=2)
Donc la partie décimale se récupère avec :
$nbrTest[1]
Ensuite si vous voulez réutiliser cette décimale il est possible de faire comme cela:
$resultTest = ("0.".$nbrTest[1])*40;
Le résultat final de cet exemple donnera le chiffre "2"
Partager