2

次の操作結果をphpで適切にフォーマットするにはどうすればよいですか

$total = 545.37;
$procent = 7;

$cashback = ($total * $procent / 100 ); 

var_dump($cashback) = 38.1759;

ドイツの標準に変換したいので、次を使用しようとしていました

number_format($cashback,2,',','');

38,18 しかし、これは期待される結果を返します38,17

4

2 に答える 2

1

number_format(floor(100*$cashback)/100,2,',','');2 桁の後の切り捨てに使用します。

丸め誤差を考慮する必要がある場合、たとえば$cashback= 0.9999999;

number_format(floor(100*$cashback+0.001)/100,2,',','');

通貨金額を処理する際に丸め誤差を回避したい場合は、すべての計算を整数で表されたセントまたはミリセントで実行してください。

于 2013-05-23T10:51:25.573 に答える