Bienvenue dans ce tutoriel. Il vous est certainement déjà arriver de vouloir un nombre rond, bien comme il faut pour des opérations, mais vous ne saviez pas comment faire? Et bien ce tutoriel va vous apprendre les trois façon d'arrondir un nombre en PHP avec évidement les fonctions afférentes.
Pour commencer, voyons la première fonction: round(). Cette fonction permet d'arrondir un nombre à virgule flottante au nombre entier le plus proche. Ainsi, 3.4 deviendra 3, 3.6 deviendra 4 etc. Pour l'utiliser il faut l'écrire comme suit:
round ( $valeur, $précision);
$valeur est la variable à arrondir et $précision
définie le nombre de chiffre après la virgule. Par exemple, round (3.621458, 2) donnera 3.62 (attention, PHP ne gère pas par défaut les chaînes du type 3,6454 il faudra écrire la chaîne sous cette forme: 3.6454 Le point remplace simplement la virgule) Bien, vous voyez, c'est très simple à utiliser :P Les deux autres le sont tout autant.
Cette deuxième fonction qu'est ceil() va vous permettre d'arrondir au nombre supérieur. 1.1 donnera ainsi 2 etc... Voici comment écrire cela:
ceil ( $valeur );
Il n'y a cette fois qu'une seul variable, la valeur donnée à celle-ci sera ensuite automatiquement arrondie au nombre supérieur. -3.16 donnera -3, 4.1 donnera 5 etc. La fonction étant très simple, je ne m'attarderais pas ici. Cependant, je vais vous donner une petite astuce pour améliorer un peu cette fonction (le tutoriel serait vraiment très court sinon, faut bien que j'y mette quelque chose ^^) Cette astuce va vous permettre de mettre un paramètre comme pour la fonction round. J'explique. Prenez par exemple le nombre 1001, vous voulez que celui-ci s'arrondisse au millier supérieur et bien vous aller mettre après ",1000" Voici ce que ça donnerais (car je sais pas si c'est très clair xD)
ceiling ( 1001, 1000); //donne 2000
En fait nous allons créer une fonction que l'on nomme ceiling grâce à ce code:
function ceiling($number, $significance = 1)
{
return ( is_numeric($number) && is_numeric($significance) ) ? (ceil($number/$significance)*$significance) : false;
}
Je ne l'expliquerais pas car ce n'est pas la l'objet du tutoriel mais en clair, c'est cette fonction qui permet d'écrire ce que nous avons écrit avant. Vous pouvez grâce à elle définir en fait un "seuil" pour arrondir. Si vous définissez 0.5, 1.1 va par exemple donner 1.5 etc. C'était ici juste une petite astuce qui peut être utile, celle-ci ne fait pas vraiment partie du tutoriel au sens strict ^^
Il s'agit la de l'inverse de la fonction ceil. Floor va arrondir au nombre entier inférieur quelque soit la situation. Je ne répèterais donc pas les explications donnée au dessus. On écrit cela sous cette forme:
floor ( $valeur );
Comme pour la fonction ceil il est possible de créer une fonction qui permet d'arrondir non pas à l'entier inférieur mais à ce que l'on veut (exemple, 1999 arrondi à... 1000 ^^) voici le code en question:
function flooring($number, $significance = 1)
{
return ( is_numeric($number) && is_numeric($significance) ) ? (floor($number/$significance)*$significance) : false;
}
L'utilisation possible est la même que pour la fonction ceil je me contenterais donc de dire que pour utiliser cette fonction il vous suffit d'utiliser la ligne suivante:
flooring ( 1999, 1000); //donne 1000
Voilà, vous savez à présent comme arrondir au nombre entié le plus proche, inférieur, supérieur et comment adapter ces fonction pour arrondir avec d'autre seuil, le tutoriel s'arrête donc ici et il ne me reste plus qu'à vous dire à une prochaine fois pour un nouveau tutoriel et surtout si vous avez une question, passez sur le forum, il est la pour ça!