对于任意精度的数学,PHP提供了支持用字符串表示的任意大小和精度的数字的二进制计算,最多为2147483647-1(或0x7FFFFFFF-1)。
BCMath函数仅在 PHP 编译时配置了 --enable-bcmath 时可用。
用法:
<?php
// 设置默认小数点保留位数
bcscale(2);
// 加法
echo bcadd(1234567890.123, 987654321987654321), PHP_EOL;
// 减法
echo bcsub(1234567890.123, 987654321987654321), PHP_EOL;
// 乘法
echo bcmul(1234567890.123, 987654321987654321), PHP_EOL;
// 除法,指定保留小数后20位,否则小数点不够结果会是0
echo bcdiv(1234567890.123, 987654321987654321, 20), PHP_EOL;
输出结果:
987654323222222211.12
-987654320753086430.87
1219326312467160482730834171.48
0.00000000124999998748