首页后端开发JAVAphp 高精确度运算 - bc函数

php 高精确度运算 - bc函数

时间2023-04-03 15:06:38发布访客分类JAVA浏览1581
导读:项目中存储金额一般用int(分 ,或者decimal(8,2 ,如果用 decimal 会涉及到精度问题。比如:比较字符串0.01和0哪个大,结果是一样大,因为php会把0.01强转为0,这就不符合预期了#两个任意精度的数字除法计算 bcd...

项目中存储金额一般用int(分),或者decimal(8,2),如果用 decimal 会涉及到精度问题。比如:比较字符串0.010哪个大,结果是一样大,因为php会把0.01强转为0,这就不符合预期了

#两个任意精度的数字除法计算
bcdiv('200', '100', 2);
    //分转元,200/100

#比较两个任意精度的数字
bccomp($price, $step, 2)
#两个任意精度数字的加法计算
bcadd($price, $step, 2)
#两个任意精度数字的减法
bcsub($price, $step, 2)
//将两个任意精度数字相乘
bcmul($sku->
    price, (string) $orderGoods['num'], 2);
    

例子:根据传过来的金额返回价格上下10元的金额

        $step = '10.00';

        if (bccomp($price, $step, 2) !== 1) {
    
            $start = '0.00';

        }
 else {
    
            $start = bcsub($price, $step, 2);

        }
    
        $end                      = bcadd($price, $step, 2);
    
        $params['price']          = [$start, $end];
    

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!

php存储decimal函数字符串

若转载请注明出处: php 高精确度运算 - bc函数
本文地址: https://pptw.com/jishu/792.html
韩国高防双线云服务器有哪些优势(韩国高防双线云服务器有哪些优势和劣势) java数组操作(二)(java 数组操作)

游客 回复需填写必要信息