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);
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 !
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"
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager