• ベストアンサー

Accessの通貨

いつもお世話になっています。 Accessの通貨型について疑問があるので、どなたか教えてください! 通貨型にすると何かしら計算させたときに自動的に四捨五入になりますよね? 通貨型を使用して計算させると、電卓で計算させたときと金額が1円とか2円とか合わないことがあるんです。 これの対処法ってないんですか???

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

  • ベストアンサー
  • O_cyan
  • ベストアンサー率59% (745/1260)
回答No.4

>通貨型で表示されている小数点以下を四捨五入した値とは違うんですか??? フィールドを通貨型にして書式で小数点以下を表示しない 設定になっていれば 例えば 実際の計算は13円×1.05=13.65となりますが答 えの13.65円が通貨型のフィールドだと14円になりますよね。 これが例えば4つあった場合    通貨型の表示 13円×1.05=13.65円     14円 13円×1.05=13.65円     14円 13円×1.05=13.65円     14円 13円×1.05=13.65円     14円 ーーーーーーーーーーーーーー ーーーーーーー      合計  54.60円  合計 55円 14円が4つで56円にならなくてはいけないのに実際の計算された値の四捨五入の金額55円になってしまいます。 通貨型で小数点以下があった場合、表示上(見た目)だけ 四捨五入されているだけで実際は小数点以下の数値が生き ている状態です。 関数などを使用して13円×1.05=14円と計算し値を 出してその答えを合計すれば56円になる。と言う事です。1レコードづつ小数点以下を四捨五入して整数の値として持たないとそのままでは誤差が出てしまいます。

nana_ko
質問者

お礼

わかりやすい説明、ありがとうございます。 整数の値として持つ、ということは、小数点もない状態ってことでいいんですよね? 追加質問なんですが、テーブルでデータ型を『数値型』、フィールドサイズを『整数型』、小数点以下表示桁数を『0』にした場合、Round関数を使わなくてもいけそうな気がするんですが…それではダメですかね?

その他の回答 (4)

  • O_cyan
  • ベストアンサー率59% (745/1260)
回答No.5

>テーブルでデータ型を『数値型』、フィールドサイズを >『整数型』、小数点以下表示桁数を『0』にした場合、 >Round関数を使わなくてもいけそうな気がするんですが… テーブルのデータ型で数値・整数にすればテーブルに保存された時点で整数化されます。まァ作る人の好み?ですが 関数など使いたくない場合はそれでも良いとおもいますよ。 私は整数型の数値はあまり使わないもので・・。

nana_ko
質問者

お礼

ありがとうございます。 関数を使わなくてもイケる…ってことですね! 関数がニガテなんで、できるだけ関数を使わない方向でやってるんです^^; いろいろありがとうございましたm(__)m

回答No.3

電卓と同じで、少数点はいらない というのはどういうことでしょう?? 電卓でも 0.2 + 0.3 = 0.5になるし 0.2 + 0.8 = 2 になると思うのですが??

nana_ko
質問者

補足

表現が悪かったですね^^; えと、数量×単価である商品の金額を出したとしますよね? で、商品が複数あるとします。 そのいくつかの商品の合計を出すとする場合のことを言いたかったんです。 例えば見積書を出すとか…通常、そういう作業をする場合って四捨五入されるのかが知りたかったんです。

  • O_cyan
  • ベストアンサー率59% (745/1260)
回答No.2

通貨型にした場合計算上の小数点以下の値は表示上で四捨 五入されているだけなので実際は小数点以下の値は残っています。 演算された通貨型の値を例えば再度合計をした場合、通貨型で 表示されている小数点以下を四捨五入した値を合計するの ではなく小数点以下の値がある実際の数値で合計されその 最終的な値を四捨五入して表示するため誤差が出る場合があります。 1レコードづつ四捨五入した値を持たせて(2000ならRound 関数が使えます。97の場合はIntを使って四捨五入)四捨五入された状態の値を計算するようにすれば良いのでは。

nana_ko
質問者

補足

ちょっと理解ができないんですが(バカですみません!)、1レコードずつ四捨五入した値を持たせる、っていうのは、通貨型で表示されている小数点以下を四捨五入した値とは違うんですか???

回答No.1

丸めの問題ですね。 小数点桁数はいくつ必要なのでしょう? 小数点桁数をいくつまで表示するか決めて それ以上のものをどうするか(切捨てなのか 四捨五入なのか、切り上げなのか) にもよりますね。

nana_ko
質問者

補足

金額なので小数点以下は必要としていません。 電卓と同じにする場合はどうなるんでしょうか? 四捨五入でいいんですか?

関連するQ&A

専門家に質問してみよう