0

我对两位小数30.630.15. 我的计算器说它应该导致4.60.

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

由此产生的结果是4.59

从我读过的内容来看,bcmul 是用来处理十进制数的?

非常感谢,

4

1 回答 1

0

从参数的文档到:$scalebcmul

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

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

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

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

我不确定您为什么期望 4.60,除非您特别期望结果被四舍五入

于 2016-09-22T11:32:56.513 回答