- Visual Basic / VB.NET : Arrondir un nombre a 2 decimales - CodeS SourceS
- Visual Basic / VB.NET : Arrondir un nombre a 2 chiffres apres la virgule - CodeS SourceS
- Visual Basic / VB.NET : Arrondir des nombres à un certain nombre de décimales - CodeS
- Comment arrondir un nombre vers le haut --> deux options !
- Arrondir un nombre a 2 chiffres apres la virgule
"tu viens, en moins d'une seconde, me prouver que je cherche comme une patate :o"
Je confirme :
http://www.google.fr/search?hl=fr&q=fonction+php+arrondi
Et pour en rajouter une couche, ce genre de code, c'est pas une source, mais un snippet. Ca n'a donc pas sa place ici.
donc utiliser round, c'est une bien meilleur solution.
il faut ajouter 0.5 avant de prendre la partie entiere!
comme ca l arrondi est correct, tous les nombres dans l interval
[15.68, 15.685[ donneront 15.68 et ceux dans [15.685, 15.69] donneront 15.69
pour reprendre l exemple:
15.687--(x100)--> 1568.7 --(+0.5)-> 1569.2 --(int)--> 1569 --(/100)--> 15.69
bon evidemment c est pas aussi simple qu avec round() ou number_format()
mais quand on se met dans un nouveau languague de programmation
et qu on sait pas s il existe de telles fonctions, ben c est toujours efficace :-)
Mais hormis ça pourquoi utiliser des expressions régulière... c'est une perte de perf pour rien... autant utiliser les offset... qui plus est avant de le traiter tu ne vérifie pas que ton $nbre est bien numérique et n'est pas un entier... .. .
@ tchaOo°
un nombre, c'est pas une chaine de caracteres...
de plus, round est une largement meilleur solution.
Exemple, j'ai 15,68687.
Si je l'arrondi au centième avec ta technique, j'obtiendrais 15,68. Or c'est faux, le bon résultat est 15,69. Et oui, je chipote mais c'est comme ça.
Je préfère ma technique parce que avec 1 Regex je fais tes 3 calculs :
$arrondi = preg_replace('#([0-9])\.([0-9]{2})([0-9]+)#','$1.$2',$nbre);
Tu multiplies, utilises une Regex, puis divises ... moi j'ai tout dans la mienne.
Tu prends le nombre, tu le multiplie par 1000. Exemple : 1,25412 * 1000 = 1254,12
Puis tu arrondis : 1254.
Et tu redivises par 1000 : 1,254.