私は最近、flex 3 に基づくチェックアウト システムに取り組んでいましたが、意味をなさない注文の合計がありました。小計、送料、税金を追加していました。これらの値の 3 つすべてが小数点以下 2 桁に丸められましたが、私の答えはまったく丸められていないようです。
何が起こっているのかを調べた後、1.1 を取得する代わりに .95 と .15 を追加すると、1.09999999 が繰り返されることがわかりました。そのバリエーションから始めても違いはありません。私の元のケースでは、(17.95 + 5 + 1.15) でした。Flex は 24.09999 をくれました。
これには理由がありますか?最終的な数値を丸め直して正しい結果を得ることができますが、そのような基本的な算術が間違っているのは奇妙に思えます。ありがとう。