PHP中如何实现数字保留两位小数的多种技巧分享?

更新于
2026-09-28 23:41:38
1阅读来源:SEO资源
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计626个文字,预计阅读时间需要3分钟。

PHP中如何实现数字保留两位小数的多种技巧分享?

1. 不进位的计算:将3.149569取小数点后两位,最后两位不能四舍五入。结果:3.14。可以使用floor函数,该函数是舍去小数点后的部分。例如,floor(4.66456)结果为4,floor(9.1254)结果为9。

1.不进位的情况

比如3.149569取小数点后两位,最后两位不能四舍五入。结果:3.14。

可以使用 floor 函数

该函数是舍去取整。例如,floor(4.66456) 结果:4 。

floor(9.1254) 结果9 。

因此,去小数点后两位,需要先乘以100,然后舍去取整,再除以100,即:

$a=floor(3.149569*100)/100

这时浮点计算会出现一个bug,通过PHP的无类型特性来解决这个问题,先strval转成字符串,再自动识别类型。下面计算百分比已经使用上strval()函数了

计算百分比

$successRate = floor(strval((2/3)*10000))/10000*100; $result = $successRate.'%';

2.四舍五入的情况

round 函数

float round ( float val [, int precision])

返回将 val 根据指定精度 precision(十进制小数点后数字的数目)进行四舍五入的结果。

阅读全文

本文共计626个文字,预计阅读时间需要3分钟。

PHP中如何实现数字保留两位小数的多种技巧分享?

1. 不进位的计算:将3.149569取小数点后两位,最后两位不能四舍五入。结果:3.14。可以使用floor函数,该函数是舍去小数点后的部分。例如,floor(4.66456)结果为4,floor(9.1254)结果为9。

1.不进位的情况

比如3.149569取小数点后两位,最后两位不能四舍五入。结果:3.14。

可以使用 floor 函数

该函数是舍去取整。例如,floor(4.66456) 结果:4 。

floor(9.1254) 结果9 。

因此,去小数点后两位,需要先乘以100,然后舍去取整,再除以100,即:

$a=floor(3.149569*100)/100

这时浮点计算会出现一个bug,通过PHP的无类型特性来解决这个问题,先strval转成字符串,再自动识别类型。下面计算百分比已经使用上strval()函数了

计算百分比

$successRate = floor(strval((2/3)*10000))/10000*100; $result = $successRate.'%';

2.四舍五入的情况

round 函数

float round ( float val [, int precision])

返回将 val 根据指定精度 precision(十进制小数点后数字的数目)进行四舍五入的结果。

阅读全文