PHP的bc函数计算商品计算价格避免误差

分类首页日期7个月前访问346评论0

千万不能 $tatol = $a + $b + $d…
而是用PHP提供的高精度计算BC函数:bcadd 和bcsub即可,如下

bcadd — 加法,2个任意精度数字的加法计算

bcsub — 减法

bcmul — 乘法

bcdiv — 除法

bcpow — 乘方

bcmod — 取模

bcsqrt — 求二次方根

bccomp — 比较两个任意精度的数字,返回一个整数的结果:若两数相等返回0,左数大返回1,否则返回-1

bcpowmod — 求高精度数字乘方求模,数论里非常常用

bcscale — 设置所有bc数学函数的默认小数点保留位数 — 比较两个高精度数字,返回-1, 0, 1
<?php
 
$a = '1.234';
$b = '5';
 
echo bcadd($a, $b);     // 6
echo bcadd($a, $b, 2);  // 6.23
 
?>