PHPでのお金の丸めとフォーマット

user3476345

私は金額の計算を処理するスクリプトに取り組んでいますが、それを行うための正しい方法、または提案された方法は何か疑問に思っています。

私はセントの端数ではなく、ドルとセントを扱っています。株式など、数分の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桁であることを確認することにより、未払い額を決定することは「許容可能」ですか?

xelber

小数点以下の桁数を決定するためにnumber_formatを使用しないでください。代わりに、最初に丸めてください。Roundは数学関数であり、ビジネスの運営方法と密接に関連しています。たとえば、小数点以下2桁以降を破棄するというビジネスルールがある場合は、最初に小数点以下2桁に丸めます。数値形式は単に表示を目的としています。たとえば、カンマを追加したり、必要に応じて先行0を追加したりします。実際に図を保存するときは、ビジネスニーズに応じて丸めてから、DBに保存してください(最終的な図として)

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

PHPでの数値フォーマット(お金)

分類Dev

awkでの数値のフォーマットと丸めの問題

分類Dev

ToString()でフォーマットする場合の10進数とdoubleの丸めの差

分類Dev

PhpSpreadSheetでお金のフォーマットを設定する方法は?

分類Dev

フォーマットされた文字列の小数/お金

分類Dev

GeoPandasのフォーマット/丸め数値凡例ラベル

分類Dev

浮動小数点数をフォーマットするときのPythonフォーマットのデフォルトの丸め

分類Dev

READステートメントのフォーマットと実数の丸め

分類Dev

デフォルトのNumDigAfterDecを使用し、丸めなしで数値をフォーマットします

分類Dev

PHPでお金をフォーマットして、「$ xxx.xxUSD」にします。

分類Dev

数値.js-負の数の丸め/フォーマットの問題

分類Dev

新しいPythonフォーマット関数による小数の丸め

分類Dev

cl-formatでお金をフォーマットする方法(一般的なlispフォーマット関数のclojure実装)

分類Dev

C#Double-小数点以下2桁で、丸めなしのToString()フォーマット

分類Dev

数値をフォーマットするときにNSStringクラスが一貫性のない丸めをするのはなぜですか?

分類Dev

千単位の区切り文字で可変的に丸めることができる数値をフォーマットします

分類Dev

通貨金額としての数値のフォーマット

分類Dev

preg_replaceを使用してPHPでテキストの金額を再フォーマットする

分類Dev

JSONでのPHPフォーマット

分類Dev

Python 3の数値フォーマットを使用して、数値を数百、数千などに丸めることができます

分類Dev

Matlabfprintf小数点以下14桁に丸めるための正しいフォーマット指定子

分類Dev

利用可能な金種のセットによる丸め金額

分類Dev

金額の列をフォーマットする方法は?

分類Dev

お金税とチップフロートの複雑化

分類Dev

SQLから10進数をお金のc# aspxにフォーマットする

分類Dev

長い数値をゼロで丸め/フォーマットする方法は?

分類Dev

RDLCで10進数/丸め数値をフォーマットする方法

分類Dev

iOSの価格フォーマットを-0.00から0.00に丸める方法は?

分類Dev

金額値をフォーマットするための注釈を作成する方法

Related 関連記事

  1. 1

    PHPでの数値フォーマット(お金)

  2. 2

    awkでの数値のフォーマットと丸めの問題

  3. 3

    ToString()でフォーマットする場合の10進数とdoubleの丸めの差

  4. 4

    PhpSpreadSheetでお金のフォーマットを設定する方法は?

  5. 5

    フォーマットされた文字列の小数/お金

  6. 6

    GeoPandasのフォーマット/丸め数値凡例ラベル

  7. 7

    浮動小数点数をフォーマットするときのPythonフォーマットのデフォルトの丸め

  8. 8

    READステートメントのフォーマットと実数の丸め

  9. 9

    デフォルトのNumDigAfterDecを使用し、丸めなしで数値をフォーマットします

  10. 10

    PHPでお金をフォーマットして、「$ xxx.xxUSD」にします。

  11. 11

    数値.js-負の数の丸め/フォーマットの問題

  12. 12

    新しいPythonフォーマット関数による小数の丸め

  13. 13

    cl-formatでお金をフォーマットする方法(一般的なlispフォーマット関数のclojure実装)

  14. 14

    C#Double-小数点以下2桁で、丸めなしのToString()フォーマット

  15. 15

    数値をフォーマットするときにNSStringクラスが一貫性のない丸めをするのはなぜですか?

  16. 16

    千単位の区切り文字で可変的に丸めることができる数値をフォーマットします

  17. 17

    通貨金額としての数値のフォーマット

  18. 18

    preg_replaceを使用してPHPでテキストの金額を再フォーマットする

  19. 19

    JSONでのPHPフォーマット

  20. 20

    Python 3の数値フォーマットを使用して、数値を数百、数千などに丸めることができます

  21. 21

    Matlabfprintf小数点以下14桁に丸めるための正しいフォーマット指定子

  22. 22

    利用可能な金種のセットによる丸め金額

  23. 23

    金額の列をフォーマットする方法は?

  24. 24

    お金税とチップフロートの複雑化

  25. 25

    SQLから10進数をお金のc# aspxにフォーマットする

  26. 26

    長い数値をゼロで丸め/フォーマットする方法は?

  27. 27

    RDLCで10進数/丸め数値をフォーマットする方法

  28. 28

    iOSの価格フォーマットを-0.00から0.00に丸める方法は?

  29. 29

    金額値をフォーマットするための注釈を作成する方法

ホットタグ

アーカイブ