标签搜索

PHP高精度计算问题例子

basil
2021-07-15 / 262 阅读

代码

        //直接运算
        echo "\n";
        var_dump(intval(0.58 * 100));
        var_dump(0.7 * 100 == 7);
        var_dump(floor(0.58 * 100));
        var_dump((8945.63 * 100) % 1000000);

        echo "\n";
        // 使用bcmath高精度函数计算
        var_dump(intval(bcmul(0.58, 100)));
        var_dump(bccomp(bcmul(0.7, 100), 7));
        var_dump(floor(bcmul(0.58, 100)));
        var_dump(bcmod(bcmul(8945.63, 100), 1000000));

输出结果

        int(57)
        bool(false)
        float(57)
        int(894562)
        
        int(58)
        int(1)
        float(58)
        string(6) "894563"
2