2010年7月5日月曜日

消費税計算で四捨五入

保守しているシステムには消費税を入力する箇所が幾つか有る。
基本的には、自動で計算して表示し、手入力でも変更出来る様になっている。
計算は端数切り落としだ。
手入力で変更出来る様にしている理由は、時に端数切り上げにしたりし調整する為。
だが、この為に誤入力で作成さえたレコードも多かった。


誤入力があまりに多いため一部の機能では手入力での変更を取りやめようと云う話になった。
「今は、端数切り落としで処理しているのですが…」
「あ、そう。今度から四捨五入にしといて」
とユーザ部門とやりとりし、その後うえの人に報告。
「消費税、四捨五入にして欲しいそうですが…」
「四捨五入?どこで(何桁目で)」


その時、はっとしたのだが、何桁目でという考えもあるのだ。
端数についてのみ考えていたので、当然の様に小数点以下を切り捨て・切り上げで考えていた。
まあ消費税計算なので正しかったのだが。


念のため調べてみると一般的には小数点以下で正しい様だ。
端数処理 - Wikipedia(四捨五入)
プログラムで表現する場合Roundといったような関数を利用することを考えるが
「Round = 四捨五入」ではないのでよく調べて使う必要がある。
VB 四捨五入の方法 - S.N.Y.C.
上記の記事はVBでの四捨五入に関して参考になった。


消費税計算についても方式は様々だ。
消費税法 - Wikipedia(総額表示への移行に際して)
どれが正しいなどとは言い切れない


たかが消費税計算、四捨五入といえどもこうも色々違いがあると侮れない。
そして消費税があがった時には、また改修するはめになるのだろう。

0 件のコメント:

コメントを投稿