PHP中对运算数据保留两位小数,如是整数则补零(如0.00)的方法

92次阅读

共计 901 个字符,预计需要花费 3 分钟才能阅读完成。

通常来说,我们对保留两位小数有如下三种方法:

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

搞定了不是吗

正文完
 0