2016-09-07 9 views
0

浮動小数点減算の問題があります。PHPでの浮動小数点数の減算問題

これは私のコードです:

$totalEarning = number_format($bsal+$attn+$incen+$tran+$otdpay+$othpay, 2); // 41,256.25 
    $totalDed  = number_format($adv+$stmp+$insu+$nopay+$other+$emplyepf, 2); // 4,436.60 
    $netSalary = number_format($totalEarning - $totalDed, 2); 

しかし$netSalaryには、さまざまな出力を持っています。私の期待する結果は36819.65ですが、これは37.00です。

誰かが私のコードで何が間違っているのか教えていただけますか?

+1

thousndsセパレータでフォーマット___after___追加しようとしないでください。生値を –

+0

@ MarkBakerに追加すると、このようになります。$ netSalary = $ totalEarning - $ totalDed; '? – user3733831

+0

いいえ、 '$ totalEarning'、' $ totalDed' ___and___ $ netSalaryを 'number_format()'を一切使用せずに計算することを意味し、表示の点でのみ 'number_format() 'を使用します –

答えて

0

@マークベイカーはどういう意味:

$totalEarning = $bsal+$attn+$incen+$tran+$otdpay+$othpay; 
$totalDed  = $adv+$stmp+$insu+$nopay+$other+$emplyepf; 
$netSalary = $totalEarning - $totalDed; 

echo number_format($netSalary, 2);