2

我正在尝试使用 PHP 中的 BCMATH 计算税收或折扣值。我需要 2 个小数位。这是我的做法:

bcscale(2);
$price = '60.67';
$discount = bcmul(bcdiv($price, 100), '3.8'); // calculate 3.8 percent from 60.67
// result is: 2.28
// result should be: 2.31

我可以简单地将比例增加到 4 或类似的东西,现在会给我一个正确的结果。

所以问题是:我应该如何正确地做到这一点?我应该将比例设置为 4,然后 sprintf('%0.2f', $discount) 最后吗?或者有没有更好的方法来做到这一点?

4

1 回答 1

2

绕过bcmath?

$discount = round( ($price / 100) * 3.8, 2);
// 2.31
于 2013-10-02T05:59:37.380 回答