アプリ版:「スタンプのみでお礼する」機能のリリースについて

いつもお世話になっています。
Accessの通貨型について疑問があるので、どなたか教えてください!

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

A 回答 (5件)

丸めの問題ですね。


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

この回答への補足

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

補足日時:2003/09/29 13:51
    • good
    • 0

通貨型にした場合計算上の小数点以下の値は表示上で四捨


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

この回答への補足

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

補足日時:2003/09/29 15:53
    • good
    • 1

電卓と同じで、少数点はいらない


というのはどういうことでしょう??
電卓でも
0.2 + 0.3 = 0.5になるし
0.2 + 0.8 = 2
になると思うのですが??

この回答への補足

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

補足日時:2003/09/29 15:12
    • good
    • 0

>通貨型で表示されている小数点以下を四捨五入した値とは違うんですか???



フィールドを通貨型にして書式で小数点以下を表示しない
設定になっていれば 例えば
実際の計算は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レコードづつ小数点以下を四捨五入して整数の値として持たないとそのままでは誤差が出てしまいます。
    • good
    • 0
この回答へのお礼

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

お礼日時:2003/09/29 17:01

>テーブルでデータ型を『数値型』、フィールドサイズを


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

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

お礼日時:2003/10/01 11:49

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A