0
我有两位小数30.63
和0.15
的乘法问题。我的计算器说它应该导致4.60
。从这个小数乘法PHP
$commission = bcmul(30.63, 0.15,2);
结果是4.59
。
从我读过的bcmul本意是用十进制数字来处理?
非常感谢,
我有两位小数30.63
和0.15
的乘法问题。我的计算器说它应该导致4.60
。从这个小数乘法PHP
$commission = bcmul(30.63, 0.15,2);
结果是4.59
。
从我读过的bcmul本意是用十进制数字来处理?
非常感谢,
从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。
把你的计算器扔到垃圾桶里。 '30.63 x 0.15 = 4.5945'这更接近4.59 –
4.59是完美的答案。 – Dave
你是对的 - 计算器在垃圾桶里 –