2016-07-03

丸めの処理がおかし

この前まで関わっていたシステム

お金丸めの処理が取引先によって違う。

A社は四捨五入

B社は切り捨て。

C社は切り上みたいな感じで。

 

それでDB取引テーブルに「丸め」というカラムがあって、「丸め」には、

四捨五入会社は→0.5

切り捨ての会社は→0.1

切り上の会社は→0.9

みたいな値が入っている。

計算するとき取引先ごとに「丸め」を拾ってきて「切り捨て(金額+丸め)」という計算をする。

 

でもこれって、正しくは

四捨五入会社は→0.5

切り捨ての会社は→0.0

切り上の会社は→0.99999・・・

と入ってないとダメだよな。

 

まあ、10年くらい動いてるシステムで、だれも問題にしてないってことは、これでいいんだろうけど。

http://d.hatena.ne.jp/hnw/20160702

PHPRuby, Pythonなんかで、四捨五入の処理が間違っていたっていう話。

これに比べたらレベルの低い話だけど、思い出したから書いてみた。

記事への反応(ブックマークコメント)

ログイン ユーザー登録
ようこそ ゲスト さん