「税込価格がおかしい」相談
「税込価格がおかしい」との相談がきた。
お客様のネットショップで、
税抜価格: 3,700円
税込価格: 3,996円 (税: 296円)
のはずが、
税抜価格: 3,700円
税込価格: 3,997円 (税: 297円)
と表示される。1円多い。
このネットショップは、「端数切り上げ」の設定になっていた。
■原因
「浮動小数点数の精度」
PHP マニュアル: 浮動小数点数
もっと「シンプルな」説明: floating point guide
例)
floor: 端数の切り捨て
floor((0.1 + 0.7) * 10) = 8 ← 想定している結果
floor((0.1 + 0.7) * 10) = floor(7.9999999999999991118…) = 7 ← 実際の結果
[2015/10/23]