Home > Backend Development > PHP Tutorial > PHP_小数/四舍五入/上进/下取等

PHP_小数/四舍五入/上进/下取等

WBOY
Release: 2016-06-23 13:40:16
Original
873 people have browsed it

小数例子:


PHP保留两位小数并且四舍五入

$n=0.1265489;echo sprintf("%.2f", $n); // 0.13
Copy after login

大家可以看到我们用到了sprintf函数对$n进行了格式化%.2f是目标格式,其中2表示两位f表示float(浮点型) 第3为小数6被四舍五入

再看个例子


$n=0.1265489echo substr(sprintf("%.3",$n),0,-1);// 0.12
Copy after login

代码输出了保留2为小数没有四舍五入,实际上我们了解了sprintf的特性会四舍五入小数后我们多保留了一位,然后用substr来截取前2位



取整例子:


echo ceil(4.1);    // 5echo ceil(9.999);  // 10
Copy after login

ceil函数是向上取整函数,什么叫向上呢? 就是说如果超出一点点那就向前进一位如例子中4.1就变成了5。


跟它相反还有一个函数叫floor我们看看它的用法


echo floor(4.1);   // 4echo floor(9.999); // 9
Copy after login

floor的特性在第二个输出中显的特别明显,那就是不给你多少位小数哪怕是无限接近10也没有用向下取到的整数就是9。


round函数


<?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.05  echo round(5.055, 2);    // 5.06?>
Copy after login


round函数在PHP手册中的说明是:

float round ( float $val [, int $precision = 0 [, int $mode = PHP_ROUND_HALF_UP ]] )

返回将 val 根据指定精度 precision(十进制小数点后数字的数目)进行四舍五入的结果。precision 也可以是负数或零(默认值)。

round 的参数一是数据源,参数二是要保留的小数位而且之后一位(比如你输入2那么第3为是之后一位)被四舍五入,当他是负数的时候,从数据源最后一位开始往前数相应的长度制0并将最后一位四舍五入比如round(123456,-2) 就是123456从6开始往前数两位都变成零,并且最后一位5(从后往前数第一位是6最后一位是5)被四舍五入,输出123500


source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template