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 に答える