アフィリエイト広告を利用しています

広告

posted by fanblog

2019年12月07日

[Access] 四捨五入、切り上げ、切り下げ


四捨五入、切り上げ、切り下げの手法は様々あると思いますが、

参考として記載します。

AccessではExcelのような四捨五入するROUND関数や

ROUNDUP,ROUNDODOWNなどの関数はありません。

AccessのROUND関数は「偶数丸め」という端数処理をするので

四捨五入には使用しません。

(「偶数丸め」を使用する場合もありますが、ここでは一般的なケースを紹介します)

四捨五入する場合


例として金額[kingaku]を出す計算で、単価[[tanka]]は通貨型、

数量[suryo]は長整数にしています。

負の数を考慮するのでintではなくFixで、Sgnを使います。

kingaku = Fix([suryo] * [tanka] + (0.5 * Sgn([suryo])))

切り上げは、0.9を足す方法です。


kingaku = Fix([suryo] * [tanka] + (0.9 * Sgn([suryo])))

切り捨ては


kingaku = Fix([suryo] * [tanka] * Sgn([suryo]))


100の位で四捨五入する場合

Fix(([フィールド名] / 100) + (0.5 * Sgn([フィールド名]))) * 100

小数点第一位で四捨五入する場合

Fix(([フィールド名] * 10) + (0.5 * Sgn([フィールド名]))) / 10





◆トラブル対応
SQL(テーブル作成)で金額などの四捨五入の計算をすると単なる切り捨てになる不具合があり、その時は金額を再計算するだけの更新クエリを作成し対応した。
【このカテゴリーの最新記事】
posted by naka at 07:49 | TrackBack(0) | Access VBA 関数

この記事へのトラックバックURL
https://fanblogs.jp/tb/9474396
※ブログオーナーが承認したトラックバックのみ表示されます。

この記事へのトラックバック
カテゴリーアーカイブ
×

この広告は30日以上新しい記事の更新がないブログに表示されております。