「税込価格」、「税抜き価格」、「税」を含むファイルを作成する必要があります。私が取り組まなければならない唯一の数字は税込みの価格で、出力は小数点以下 2 桁までにする必要があります。ファイルへのデータの書き込みは問題ありません。
出力ファイルは、私の制御下にないリモート処理システムに送信されます。
リモート処理システムはいくつかのチェックを行い、「税抜価格」を「税」に追加し、「税込み価格」に対して値をチェックします。
ほとんどの値は正常に機能しますが、「税込み価格」が 35.37 または 31.17 (およびその他の値) の場合、number_format() が「税抜き価格」と「税」を切り上げ、合計すると 35.58 または 31.18 になるため、問題が発生します。
number_format() を使用して毎回正しい結果を取得し、小数点以下 2 桁に出力するにはどうすればよいですか? または、必要なものを達成するために他のどのソリューションを使用できますか? 以下のコードは、テスト目的で画面に出力されます。
$taxRate = 20;
$priceIncTax = 35.37;
$priceExTax = $priceIncTax / (1 + ($taxRate / 100));
$priceTax = $priceIncTax - $priceExTax;
echo 'PRICE_EXCLUDING_TAX: ' . number_format($priceExTax,2).'<br>';
echo 'PRICE_TAX: ' . number_format($priceTax,2).'<br>';
echo 'PRICE_INCLUDING_TAX: ' . number_format($priceIncTax,2).'<br>';
echo 'PRICE_AFTER_TAX + PRICE_TAX: ' . (number_format($priceExTax,2) + number_format($priceTax,2)) .'<br>';