PHP保留小数点后几位的三种方法

php小数点后取两位/多位的方法。

方法一、经常用到小数点后取几位,但不能进位的情况。

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

可以使用函数floor。
该函数是舍去取整。例如,floor(4.66456) 结果:4 。
floor(9.1254) 结果9 。

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

$a=floor(3.149569*100)/100

 

计算百分数:

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

 

输出结果:
66.67%

方法二、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
?>

注意:
在对正好一半的分数进行舍入时 round() 在偶数次舍去,在奇数次进位。

如果想迫使它对 .5(或 .05)总向一个方向舍入,加上或减去一个很小的因子。

对一半值舍去对另一半值进一的背后原因是避免传统的银行问题,即如果总是舍去则银行从顾客那里多拿了钱,如果总是进一则银行最终会损失了钱。
对此平均舍入则在统计上达到了平衡。

三、sprintf函数

最后一种是使用sprintf函数,请参考文章:php中sprintf()函数的用法介绍。

海拔科技

自媒体人,喜欢网络,热爱研究。本站头条号:星河 熊掌号:海拔科技

相关推荐

WordPress时间函数the_time() 详细解析

之所以找the_time()函数的相关说明还是源于本站现在使用这个主题,刚刚发了一篇文章,被百度秒收,很开心,但是一看百度收录时间显示的是12小时前。 卧槽,这怎么回事,一看文章时间显示的真的是12小时之前,起 …

php去除换行符的几种方法(str_replace正则和PHP_EOL)

一个小小的换行符,其实在不同的平台有着不同的实现,为什么要这样,可以是世界是多样的。本来在unix世界换行就用/n来代替,但是windows为了体现他的不同,就用/r/n,更有意思的是在mac中用/r。因此unix系列用 / …

PHP原生函数判断IP格式是否正确

一般我们都是通过正则表达式来判断IP格式是否正确,其实从php5.2.0之后,PHP就有专门的函数来做这个判断了。 判断是否是合法IP方法如下: if(filter_var($ip, FILTER_VALIDATE_IP)) { // it’s valid } else { // …