我对两位小数30.63
和0.15
. 我的计算器说它应该导致4.60
.
$commission = bcmul(30.63, 0.15,2);
由此产生的结果是4.59
。
从我读过的内容来看,bcmul 是用来处理十进制数的?
非常感谢,
从参数的文档到:$scale
bcmul
此可选参数用于设置结果中小数点后的位数。
这实质上意味着该数字在使用时将向下舍入(或向上舍入为负数),例如
> echo bcmul(0.99, 1, 1);
0.9
对于您的值,30.63 * 0.15 等于 4.5945。正如您所报告的,提供$scale
值 2 意味着您得到 4.59。
我不确定您为什么期望 4.60,除非您特别期望结果被四舍五入。