PHP 2个任意精度数字的加减乘除运算,可用BCMath函数,BCMath函数不进行四舍五入计算
BCMath函数的参数
两个操作数加上一个可选的 [int $scale]精确到小数点后几位,比如加法实例如下
1 | bcadd(string $num1, string $num2, ?int $scale = null): string |
计算结果返回的也是 string
BCMath函数如下
1 | bcadd — 两个任意精度数字的加法计算 |
范例
bcadd() 两个任意精度数字的加法计算
1 |
|
PHP取整数函数常用的四种方法
-
直接取整,舍弃小数,保留整数:intval()
intval: 小数转成整数型态
1
2
3intval(3.14159); // 3
intval(3.64159); // 3
intval('ruesin'); // 0
-
四舍五入取整:round()
根据参数2指定精度将参数1进行四舍五入。参数2可以是负数或零(默认值)
1
2
3
4
5
6round(3.14159); // 3
round(3.64159); // 4
round(3.64159, 0); // 4
round(3.64159, 2); // 3.64
round(5.64159, 3); // 3.642
round(364159, -2); // 364200
-
向上取整,有小数就加1:ceil()
返回不小于 value 的下一个整数,value 如果有小数部分则进一位,分页计算页数时经常会用到
1
2ceil(3.14159); // 4
ceil(3.64159); // 4
-
向下取整:floor()
返回不大于 value 的下一个整数,将 value 的小数部分舍去取整
1
2floor(3.14159); // 3
floor(3.64159); // 3