php 中的十进制乘法
Decimal multiplication in php
我在计算两位小数 30.63
和 0.15
时遇到问题。我的计算器说结果应该是 4.60
.
$commission = bcmul(30.63, 0.15,2);
结果是4.59
。
据我了解,bcmul 是用来处理十进制数的吗?
非常感谢,
从 $scale
参数的 the documentation 到 bcmul
:
This optional parameter is used to set the number of digits after the decimal place in the result.
这实质上意味着该数字在使用时将被舍入 向下 (或向上舍入为负数),例如
> echo bcmul(0.99, 1, 1);
0.9
对于您的值,30.63 * 0.15 等于 4.5945。提供 $scale
值 2 意味着您得到 4.59,正如您报告的那样。
我不确定您为什么期望 4.60,除非您特别期望结果四舍五入 up。
我在计算两位小数 30.63
和 0.15
时遇到问题。我的计算器说结果应该是 4.60
.
$commission = bcmul(30.63, 0.15,2);
结果是4.59
。
据我了解,bcmul 是用来处理十进制数的吗?
非常感谢,
从 $scale
参数的 the documentation 到 bcmul
:
This optional parameter is used to set the number of digits after the decimal place in the result.
这实质上意味着该数字在使用时将被舍入 向下 (或向上舍入为负数),例如
> echo bcmul(0.99, 1, 1);
0.9
对于您的值,30.63 * 0.15 等于 4.5945。提供 $scale
值 2 意味着您得到 4.59,正如您报告的那样。
我不确定您为什么期望 4.60,除非您特别期望结果四舍五入 up。