虚拟主机域名注册-常见问题网络编程问题 → PHP


php保留两位小数,保留小数的几种方法
作者:

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(十进制小数点后数字的数目)进行四舍五入的结果。

precision 也可以是负数或零(默认值)。

sprintf 函数

实现四舍五入,并且如果是不带小数位数的,会自动用指定的字符(指定的0)补至指定的小数位数

echo sprintf("%01.2f", 5.228);  //  5.23

echo sprintf("%01.2f", 5.224);  //  5.22

echo sprintf("%01.2f", 5);      //  5.00

number_format 函数

如果是不带小数位数的,会自动用0补至指定的小数位数

echo number_format(5.228,2);    //  5.23

echo number_format(5.224,2);    //  5.22

echo number_format(5,2); //  5.00

round 函数

此函数可以实现四舍五入,但是如果是不带小数位数的,处理后也不带小数数位

echo round(5.228,2);    //  5.23

echo round(5.224,2);    //  5.22

echo round(5,2); //  5

php进一法取整

echo ceil(4.4);     //  5

echo ceil(4.6);     //  5

php舍去法取整

echo floor(4.4); //  4

echo floor(4.6); //  4



来源:
阅读:619
日期:2022-12-03

推荐朋友 】 【 评论 】  【 字体: 】 
上一篇:table不继承父节点,不继承body的属性的方法
下一篇:js根据ua判断是否是微信小程序
  >> 相关文章
  没有相关文章。
发表评论


点  评: 字数0
用户名:  密码:

  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款