2016-09-22 50 views
0

我有两位小数30.630.15的乘法问题。我的计算器说它应该导致4.60。从这个小数乘法PHP

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

结果是4.59

从我读过的bcmul本意是用十进制数字来处理?

非常感谢,

+4

把你的计算器扔到垃圾桶里。 '30.63 x 0.15 = 4.5945'这更接近4.59 –

+0

4.59是完美的答案。 – Dave

+1

你是对的 - 计算器在垃圾桶里 –

回答

0

the documentation$scale参数bcmul

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

这本质上意味着该号码将被舍入向下(或开负数)时,它的使用,例如

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

对于您的值,30.63 * 0.15等于4.5945。正如您所报告的,提供$scale的值为2意味着您得到4.59。

我不知道你为什么期待4.60,除非你特别期待结果是四舍五入的up