PHP 常见数字处理方法
先看下手册中一些常用的处理数字的方法round -- 对浮点数进行四舍五入
float round ( float val [, int precision])
返回将 val 根据指定精度 precision(十进制小数点后数字的数目)进行四舍五入的结果。precision也可以是负数或零(默认值)。范例
[*]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.05
注: PHP 默认不能正确处理类似 "12,300.2" 的字符串
ceil -- 进一法取整
float ceil ( float value )如:echo ceil(3.2); //输出4
floor -- 舍去法取整
float floor ( float value )如:echo floor(2.86);//输出2
number_format -- 以千为单位格式化数字
string number_format ( float number [, int decimals [,string dec_point, string thousands_sep]] )
参数(数字,保留小数位数(四舍五入),整数于小数点分隔符,进千分隔符)
[*]$number = 1234.56;
[*]
[*]$english_format_number = number_format($number);
[*]// 1,235
[*]
[*]$number = 1234.5678;
[*]$english_format_number = number_format($number, 2, '.', '');
[*]// 1234.57
[*]$number = 1234.567;
echo number_format($number, 2, '#', ',');
[*]// 1,234#57
但是实际处理中,有时候既需要保留小数,又需要不让它四舍五入。
这边记一个简单的代码吧
[*]$number = 1234.567;
[*]$number = floor($number*100)/100;
[*]echo $number;//输出1234.56
有时候要求可能更复杂需要结合一些字符串处理方法来解决。总之,菜鸟的目标就暂时停留在解决问题的基础上,至于之间的性能差异及比较就不深究了 :-)
页:
[1]