通常来说,我们对保留两位小数有如下三种方法:
| 1 2 3 4 5 6 7 8 9 10 11 12 |   $num = 10.4567;     //第一种:利用round()对浮点数进行四舍五入   echo round($num,2); //10.46   //第二种:利用sprintf格式化字符串   $format_num = sprintf("%.2f",$num);   echo $format_num; //10.46   //第三种:利用千位分组来格式化数字的函数number_format()   echo number_format($num, 2); //10.46   //或者如下   echo number_format($num, 2, '.', ''); //10/46 | 
区别
第三种方法对于数据的二次运算就不是那么友好,所以我们将主要目标放在第一和第二种方法上。
第一种方法会对数据进行四舍五入,也就是上面代码形容的那样,但有个问题。
如果是10.1,他就只能显示10.1,并不会帮我们补全成10.10.
第二种方法不会对数据进行四舍五入,是直接切割数据,比如10.649,就会变成10.64。
结论
上面的三种方法看起来都没办法实现四舍五入的前提下自动补零,其实不然,换个思路即可。
我们可以先四舍五入,再补零,不就可以了吗?如下:
| 1 2 3 | $num =1.785;   echo sprintf("%.2f", $num); //结果1.78 | 
搞定了不是吗
原创文章,作者:蓝洛水深,如若转载,请注明出处:https://blog.lanluo.cn/10656
 
                
 微信扫一扫
                                                            微信扫一扫                                                     支付宝扫一扫
                                                            支付宝扫一扫                                                     
             
             
            