BCMath任意精度数学运算-加减乘除

PHP 2个任意精度数字的加减乘除运算,可用BCMath函数,BCMath函数不进行四舍五入计算

BCMath函数的参数

​ 两个操作数加上一个可选的 [int $scale]精确到小数点后几位,比如加法实例如下

1
bcadd(string $num1, string $num2, ?int $scale = null): string

计算结果返回的也是 string

BCMath函数如下

1
2
3
4
5
6
7
8
9
10
bcadd — 两个任意精度数字的加法计算
bccomp — 比较两个任意精度的数字
bcdiv — 两个任意精度的数字除法计算
bcmod — 任意精度数字取模
bcmul — 两个任意精度数字乘法计算
bcpow — 任意精度数字的乘方
bcpowmod — 求高精度数字乘方求模
bcscale — 设置/获取所有 bc math 函数的默认小数点保留位数
bcsqrt — 任意精度数字的二次方根
bcsub — 两个任意精度数字的减法

范例

bcadd() 两个任意精度数字的加法计算

1
2
3
4
5
6
7
8
9
<?php

$a = '1.234';
$b = '5';

echo bcadd($a, $b); // 6
echo bcadd($a, $b, 4); // 6.2340

?>

PHP取整数函数常用的四种方法

  1. 直接取整,舍弃小数,保留整数:intval()

    intval: 小数转成整数型态

    1
    2
    3
    intval(3.14159);  // 3
    intval(3.64159); // 3
    intval('ruesin'); // 0
  1. 四舍五入取整:round()

    根据参数2指定精度将参数1进行四舍五入。参数2可以是负数或零(默认值)

    1
    2
    3
    4
    5
    6
    round(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. 向上取整,有小数就加1:ceil()

    返回不小于 value 的下一个整数,value 如果有小数部分则进一位,分页计算页数时经常会用到

    1
    2
    ceil(3.14159);  // 4
    ceil(3.64159); // 4
  1. 向下取整:floor()

    返回不大于 value 的下一个整数,将 value 的小数部分舍去取整

    1
    2
    floor(3.14159);    // 3
    floor(3.64159); // 3
坚持原创技术分享,您的支持将鼓励我继续创作!