php有哪些保留两位小数的方法-创新互联

创新互联www.cdcxhl.cn八线动态BGP香港云服务器提供商,新人活动买多久送多久,划算不套路!

创新互联公司不只是一家网站建设的网络公司;我们对营销、技术、服务都有自己独特见解,公司采取“创意+综合+营销”一体化的方式为您提供更专业的服务!我们经历的每一步也许不一定是最完美的,但每一步都有值得深思的意义。我们珍视每一份信任,关注我们的成都做网站、成都网站建设质量和服务品质,在得到用户满意的同时,也能得到同行业的专业认可,能够为行业创新发展助力。未来将继续专注于技术创新,服务升级,满足企业一站式成都全网营销推广需求,让再小的品牌网站制作也能产生价值!

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有哪些保留两位小数的方法问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注创新互联-成都网站建设公司行业资讯频道了解更多相关知识。

当前标题:php有哪些保留两位小数的方法-创新互联
网站路径:https://www.cdcxhl.com/article30/ihopo.html

成都网站建设公司_创新互联,为您提供云服务器电子商务动态网站网站内链网站改版商城网站

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

成都网站建设公司