Javascript 税別価格計算方法


消費税が8%になりましたね(´・ω・`)
それが原因で小数点を使った計算で不具合が発生します(;´Д`)

税込価格計算
1000 × 1.08

税別価格計算
1080 ÷ 1.08

で計算したら

税込 1080
税別 999.99999999

えぇぇぇぇぇ(;´Д`)
想像した計算結果が思い通りにならない。゚(゚´ω`゚)゚。ピー


原因はIEEE 754という計算方法に問題があるそうです( ゚д゚ )
対応としてはMathを使ってとかあるがめんどくさいなぁ(´・ω・`)


でももっと簡単に対応する方法があります(`・ω・´)
こう見えて数学検定準2級所持者ですwww


この方程式ならちゃんと税別価格表示が計算できます。
税込価格 × 100 ÷ 108


シンプル過ぎてえーって思う人の為に解説です(´・ω・`)

分数で書くとわかりやすいです。
まず1をかけると計算結果は変わりません。

1080
──   × 1
1.08


同様に1分の1(=1)をかけると計算結果は変わりません。

1080        1
──   × ─
1.08        1



同様に100分の100(=1)をかけると計算結果は変わりません。

1080        100
──   × ──
1.08        100

108000
───   = 1000
  108


0 件のコメント:

コメントを投稿