php高精度算法bcmul()\、bcdiv()、bcadd()、bcsub()
echo '5*2=' . bcmul(5,2,2);//高精度乘法 echo "</br>"; echo '5/2=' . bcdiv(5,2,2);//高精度除法 echo "</br>"; echo '5+2=' . bcadd(5,2,2);//高精度加法 echo "</br>"; echo '5-2=' . bcsub(5,2,2);//高精度减法
在PHP 7.3.0之前,bcmul()可能会返回小数点后位数少于小数位数的结果。只有当结果不需要刻度所允许的所有精度时,才会出现这种情况。
php5.6返回结果:

php7.1.9返回结果

php7.3.4之后包括php8版本返回结果:

其他bc函数,参考:https://www.php.net/manual/fr/book.bc.php
bcscale(5);//配置程序中所有 BC 函数库的默认小数点位数。 echo bccomp(10.00001,10.00002,5);//比较二个高精确度数字 echo bcmod(9,3);//取得高精确度数字的余数。 echo bcpow(2,3);//求一高精确度数字次方值。 echo bcsqrt(5);//任意精度数字的二次方根


浙公网安备 33010602011771号