php中的十进制乘法

时间:2016-09-22 11:23:43

标签: php bcmath

我遇到了两位小数 30.63 0.15 的乘法问题。我的计算器说它应该会产生 4.60

$commission = bcmul(30.63, 0.15,2);

此结果为 4.59

根据我的阅读,bcmul意味着使用十进制数字?

非常感谢,

1 个答案:

答案 0 :(得分:0)

$scale参数the documentationbcmul

  

此可选参数用于设置结果中小数位后面的位数。

这实际上意味着在使用数字时,数字将被舍入向下(或向上为负数),例如

> echo bcmul(0.99, 1, 1);
0.9

对于您的值,30.63 * 0.15等于4.5945。提供$scale值为2意味着您已经报告了4.59。

我不确定你为什么期待4.60,除非你特别期望结果四舍五入上来