php保留两位小数的几种方法介绍
导读:收集整理的这篇文章主要介绍了php保留两位小数的几种方法介绍,觉得挺不错的,现在分享给大家,也给大家做个参考。1.不进位的情况比如3.149569取小数点后两位,最后两位不能四舍五入。结果:3.14。可以使用 floor 函数该函数是舍去取...
收集整理的这篇文章主要介绍了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 也可以是负数或零(默认值)。
?phpecho round(3.4);
// 3echo round(3.5);
// 4echo round(3.6);
// 4echo round(3.6, 0);
// 4echo round(1.95583, 2);
// 1.96echo round(1241757, -3);
// 1242000echo round(5.045, 2);
// 5.04echo round(5.055, 2);
// 5.06sprintf 函数
实现四舍五入,并且如果是不带小数位数的,会自动用指定的字符(指定的0)补至指定的小数位数
echo sprintf("%01.2f", 5.228);
// 5.23echo sprintf("%01.2f", 5.224);
// 5.22echo sprintf("%01.2f", 5);
// 5.00number_format 函数
如果是不带小数位数的,会自动用0补至指定的小数位数
echo number_format(5.228,2);
// 5.23echo number_format(5.224,2);
// 5.22echo number_format(5,2);
// 5.00round 函数
此函数可以实现四舍五入,但是如果是不带小数位数的,处理后也不带小数数位
echo round(5.228,2);
// 5.23echo round(5.224,2);
// 5.22echo round(5,2);
// 5php进一法取整
echo ceil(4.4);
// 5echo ceil(4.6);
// 5php舍去法取整
echo floor(4.4);
// 4echo floor(4.6);
// 4相关教程推荐:《PHP教程》
以上就是php保留两位小数的几种方法介绍的详细内容,更多请关注其它相关文章!
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: php保留两位小数的几种方法介绍
本文地址: https://pptw.com/jishu/596667.html
