Maison >développement back-end >tutoriel php >Introduction à plusieurs méthodes pour conserver deux décimales en PHP
1. Cas de non-portage
Par exemple, 3.149569 est pris à deux décimales, et le dernier deux chiffres ne peuvent pas être arrondis. Résultat : 3.14.
Vous pouvez utiliser la fonction étage
Cette fonction est l'arrondi. Par exemple, floor(4.66456) donne : 4 .
floor(9.1254) donne 9.
Par conséquent, pour supprimer deux décimales, vous devez d'abord multiplier par 100, puis arrondir, puis diviser par 100, soit :
$a=floor(3.149569*100)/100
A ce moment, un bug apparaîtra dans les calculs en virgule flottante. Ce problème est résolu grâce à la fonctionnalité sans type de PHP. Tout d'abord, strval est converti en chaîne, puis le type est automatiquement reconnu. La fonction strval() a été utilisée pour calculer le pourcentage ci-dessous
Calculer le pourcentage
$successRate = floor(strval((2/3)*10000))/10000*100; $result = $successRate.'%';
2. >
fonction roundfloat round ( float val [, int precision])
renvoie le résultat de l'arrondi val selon la précision spécifiée (le nombre de chiffres décimaux après la virgule).
la précision peut également être négative ou nulle (par défaut).
<?php echo round(3.4); // 3 echo round(3.5); // 4 echo round(3.6); // 4 echo round(3.6, 0); // 4 echo round(1.95583, 2); // 1.96 echo round(1241757, -3); // 1242000 echo round(5.045, 2); // 5.04 echo round(5.055, 2); // 5.06fonction sprintf
implémente l'arrondi, et si elle n'a pas de décimales, elle remplira automatiquement la décimale spécifiée avec le caractère spécifié (spécifié 0) Nombre de chiffres
echo sprintf("%01.2f", 5.228); // 5.23 echo sprintf("%01.2f", 5.224); // 5.22 echo sprintf("%01.2f", 5); // 5.00fonction number_format
S'il n'a pas de décimale, il le remplira automatiquement avec 0 au nombre de décimales spécifié
echo number_format(5.228,2); // 5.23 echo number_format(5.224,2); // 5.22 echo number_format(5,2); // 5.00
fonction d'arrondi
Cette fonction peut réaliser un arrondi, mais si elle n'a pas de décimales, elle n'aura pas de décimales après le traitement
echo round(5.228,2); // 5.23 echo round(5.224,2); // 5.22 echo round(5,2); // 5php plus Méthode d'arrondi
echo ceil(4.4); // 5
echo ceil(4.6); // 5
echo floor(4.4); // 4
echo floor(4.6); // 4
Tutoriels associés recommandés : "
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!