• ベストアンサー

ACCESSでの四捨五入について

フォームで消費税を計算する場合に コントローソースに =[金額]×0.05をあたえ 少数点以下の桁数は0にしています この場合に消費税額が正の場合には小数点1ケタ目が四捨五入 されて 例 \251.5 → \252となりますが 負の場合には \-251.5 → \-251となります 伝票を赤黒する場合に誤差1円が出てきます 皆さん、こういった場合にどう対応されていますか? よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • neko_noko
  • ベストアンサー率45% (146/319)
回答No.2

金額が正(黒伝票)の場合は、\251.5→\252 負(赤伝票)の場合は、\-251.5→\-252 つまり、符号を除いた見かけ上の数字が繰り上がれば良い、ということですね。 ややこしいですが、 (1)数値の絶対値を求めてその値に対して四捨五入処理をします。 すると符号の正負に関わらず常に\252になります。 しかし、そのままだと赤伝票が黒伝票になってしまうので、 (2)元の数値から符号を求める関数(正なら+1、負なら-1になる関数)があったはずなので、 それを使って元の数値から符号を求めます。 (3)あとは(1)と(2)をかければOK。 確かそんなテクニックがあったような気がします。

その他の回答 (1)

  • bonaron
  • ベストアンサー率64% (482/745)
回答No.1

コントローソースに = Fix([金額]×0.05)