Microsoft Access 掲示板

テーブルの構造について / 3

5 コメント
views
4 フォロー
3

悪戦苦闘しましたが、単精度浮動小数点型にしたら、改善しました。

対症療法的な解決で、本質的な解決策ではないと思います。

原因はskさんも推定している「実際の値は 5.6 ピッタリ」ではないのだと思います。

小数点以下桁数を固定にした場合、単精度浮動小数点型は丸められて表示されるので、見た目上は5.6になっていても実際の値はそうでない可能性があります。

これでは集計した場合など演算誤差の原因になります。
そもそも浮動小数点型は演算誤差がありますので、誤差が発生しては困る金額計算には使用すべきではありません。

フィールド名が「利益」ということなので金額値だと思いますので「通貨型」にするのが適切です。

そのうえで小数点2桁以降の端数処理をどうするのかの仕様(切り捨て、切り上げ、四捨五入、金融機関型丸めなど)を決めて演算時に丸め処理をするような設計にすべきです。

通報 ...