- ベストアンサー
Access97 Int関数
小数点の切り捨てをしたくてクエリーで 以下の計算をしてみました。 =Int([個数]*[単価]) ところが以下の数値で計算させると結果が 50232となると思うのですが50231となってしまいます。 数量:460 単価:109.2 結果:50231(電卓で計算すると50232) 結果が小数点になるときは問題ないようです。 使い方が間違っているのでしょうか。 こういう場合Int関数を使うのが誤りなのでしょうか? だとしたら他に当てはまる関数があるのでしょうか? ちなみにテーブルの定義としては 数量:長整数型(小数点以下桁数0) 単価:単精度浮動小数点型(小数点以下桁数0) となっていますが小数点は表示されています。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは。 これと同じ原因だと思います。 http://www.okweb.ne.jp/kotaeru.php3?qid=277321 「貨幣型」を使用すれば出来ます。 ではでは・・・
その他の回答 (2)
- PAPA0427
- ベストアンサー率22% (559/2488)
はじめてまして。 ちょっとやってみていただけませんか? >単価:単精度浮動小数点型(小数点以下桁数0) ここは、 単価:単精度浮動小数点型(小数点以下桁数1) でしょう。 それと、クエリーで単精度/倍精度の変数タイプを使用するとデータ化けが起きる可能性がありますので、もし直らないのでしたら、今度は、テーブルの単精度の変数タイプを10進タイプに変えて試してみてください。もちろん少数点以下は「1」で指定しておいて下さい。
お礼
お礼が遅くなり申し訳ありません。 通貨型にしてOKでした。 小数点以下は1にすると小数点以下がないものまで 表示されてしまいますが(例えば100.0) 印刷時には大丈夫のようでした。 ありがとうございました。
- ja7awu
- ベストアンサー率62% (292/464)
=Int([個数]*CCur([単価])) 単価:単精度浮動小数点型を通貨型の数値に変換します。 これでいいかと思います。
お礼
お礼が大変おそくなりました。 ありがとうございました。 単価を通貨型にしてOKでした。
お礼
お礼が大変遅くなりすみませんでした。 「通貨型」でOKのようでした。 ありがとうございました。