您好,登录后才能下订单哦!
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 也可以是负数或零(默认值)。
<?php echo round(3.4); // 3 echo round(3.5); // 4 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.04 echo round(5.055, 2); // 5.06
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
关于php有哪些保留两位小数的方法问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注亿速云行业资讯频道了解更多相关知识。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。