消費税の計算でちょっとハマった

スクレイピングでのメモ。

消費税の計算で1円誤差が出る。

実際のWEBでの表示

カート前
4075円(税抜き)
カート後
4400円(税込)

計算してみると1円多い

4075 x 1.08 = 4401
なので、実際のカート後に表示されている金額と1円誤差が出る。

原因

税込←→税抜き計算時の小数点以下の扱いの違いで誤差が出る。

税込→税抜き 小数点以下切り上げ
税抜き→税込 小数点以下切り捨て

対策

1の位が1のときは1を引く

おまけ

ださいソース貼っときます。

TAX = 1.08
fee = int(day.next_sibling.next_sibling.text.replace(',',''))
fee = int(math.floor((fee * TAX)+fee))
if str(fee)[-1] == "1" :
fee = fee - 1

This entry was posted in Python. Bookmark the permalink.

コメントを残す

メールアドレスが公開されることはありません。