方法:1、使用number_format(),语法“number_format($num,小数位数,'.','')”;2、使用round(),语法“round($num,小数位数)”;3、利用sprintf()函数格式化输出来实现四舍五入。
本教程操作环境:windows7系统、PHP7.1版、DELL G3电脑
在PHP开发中,有时候我们会遇到将数据进行四舍五入的运算情况,下面分享用PHP实现数据四舍五入的3种方法,分别通过number_format()函数、round()函数和sprintf()格式化输出的方法实现四舍五入。
1、number_format() 方法实现四舍五入
number_format() 函数通过千位分组来格式化数字。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
<?php
//定义一个float型的变量 $number = 1234.5678;
//English Notation (defult) $number_format_english = number_format($number); //1,235 $number_format_english = number_format($number, 2, '.', ''); //1234.57
//French Notation $number_format_francais = number_format($number, 2, ',', ''); //1234,57 $number_format_francais = number_format($number, 3, ',', ''); //1234,568
echo $number_format_english; //1234.57 echo $number_format_francais; //1234,568
|
2、round()方法实现四舍五入
round() 函数对浮点数进行四舍五入。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
<?php
//定义一个float型的变量 $number = 1234.5678;
//不保留小数 echo round($number); //1235
//保留两位小数 echo round($number,2); //1234.57
echo "<br>";
$number = 12345678;
//在千分位进行四舍五入 echo round($number,-4); //12350000
|
3、sprintf() 格式化输出实现四舍五入
字符串格式化命令,主要功能是把格式化的数据写入某个字符串中。sprintf 是个变参函数。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
<?php
//定义一个正整数 $n = 43951789;
//定义一个负整数 $u = -43951789;
// ASCII 65 is 'A' $c = 65;
printf("%%b = '%b'\n", $n); //%b = '10100111101010011010101101' printf("%%c = '%c'\n", $c); //%c = 'A' printf("%%d = '%d'\n", $n); //%d = '43951789' printf("%%e = '%e'\n", $n); //%e = '4.395179e+7' printf("%%u = '%u'\n", $n); //%u = '43951789' printf("%%u = '%u'\n", $u); //%u = '4251015507' printf("%%f = '%f'\n", $n); //%f = '43951789.000000' printf("%%o = '%o'\n", $n); //%o = '247523255' printf("%%s = '%s'\n", $n); //%s = '43951789' printf("%%x = '%x'\n", $n); //%x = '29ea6ad' printf("%%X = '%X'\n", $n); //%X = '29EA6AD' printf("%%+d = '%+d'\n", $n); //%+d = '+43951789' printf("%%+d = '%+d'\n", $u); //%+d = '-43951789'
|