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);//任意精度数字的二次方根

 

 

posted @ 2024-06-24 15:48  流浪2024  阅读(2234)  评论(0)    收藏  举报