私は金額の計算を処理するスクリプトに取り組んでいますが、それを行うための正しい方法、または提案された方法は何か疑問に思っています。
私はセントの端数ではなく、ドルとセントを扱っています。株式など、数分の1セントが必要なシナリオを示すこのような投稿を見たことがあります。その精度は必要ないと思いますが、却下する前にアドバイスをお願いします。
アイテムを$ 9.99で6.5%の税金で販売しているとします。
$item_cost = 9.99;
$tax_percent = 0.0650; //6.5%
$tax = $item_cost * $tax_percent;
//tax is 0.38935
$total = $item_cost + $tax;
//total is 6.37935
ユーザーに$ 6.37935を請求することはできません。私はただドルとセントを扱っています。例は続く...
$total = 4.401433
$rounded_total = round($total,2);
echo $rounded_total;
//rounded total is 4.4
$ 4.4が$ 4.40と同じであることはわかっていますが、これを支払い処理業者に実行することはできません。最初に小数点以下2桁に丸めてから、数値形式を小数点以下2桁に適用するのは「安全」ですか?
$total = 4.401433
$rounded_total = round($total,2);
$formatted_total = number_format($rounded_total,2,'.','');
echo $formatted_total;
//rounded and formatted total is 4.40
最初に小数点以下2桁に丸め、次に数値形式を使用して、丸められた数値が実際に小数点以下2桁であることを確認することにより、未払い額を決定することは「許容可能」ですか?
小数点以下の桁数を決定するためにnumber_formatを使用しないでください。代わりに、最初に丸めてください。Roundは数学関数であり、ビジネスの運営方法と密接に関連しています。たとえば、小数点以下2桁以降を破棄するというビジネスルールがある場合は、最初に小数点以下2桁に丸めます。数値形式は単に表示を目的としています。たとえば、カンマを追加したり、必要に応じて先行0を追加したりします。実際に図を保存するときは、ビジネスニーズに応じて丸めてから、DBに保存してください(最終的な図として)
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加