关于 PHP 中 bcmath 的正确应用场景是什么?
最近项目中需要计算金额, 我尝试使用 bcmul 进行金额与费率的计算, 但计算之后结果没有四舍五入, bcmul 是不是不适合这种场景, 代码如下
$amount = 123456;
$rate = 0.0003;
echo $amount * $rate; // 37.0368
echo bcmul($amount, $rate, 2); // 37.03
可以配合
round
函数使用可以使用四舍六入五成双(四舍六入奇偶效验),银行家算法
四舍六入五考虑,
五后非零就进一,
五后皆零看奇偶,
五前为偶应舍去,
五前为奇要进一。