Maison  >  Article  >  développement back-end  >  Introduction à plusieurs méthodes pour conserver deux décimales en PHP

Introduction à plusieurs méthodes pour conserver deux décimales en PHP

青灯夜游
青灯夜游avant
2020-07-18 15:28:527984parcourir

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 round

float 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.06

fonction 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.00

fonction 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);        //  5

php plus Méthode d'arrondi

echo ceil(4.4);     //  5
echo ceil(4.6);     //  5

Méthode d'arrondi PHP

echo floor(4.4);        //  4
echo floor(4.6);        //  4
Tutoriels associés recommandés : "

Tutoriel PHP

"

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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer