重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

小数点の切り捨てをしたくてクエリーで
以下の計算をしてみました。
=Int([個数]*[単価])

ところが以下の数値で計算させると結果が
50232となると思うのですが50231となってしまいます。

数量:460 単価:109.2
結果:50231(電卓で計算すると50232)

結果が小数点になるときは問題ないようです。

使い方が間違っているのでしょうか。
こういう場合Int関数を使うのが誤りなのでしょうか?
だとしたら他に当てはまる関数があるのでしょうか?

ちなみにテーブルの定義としては
数量:長整数型(小数点以下桁数0)
単価:単精度浮動小数点型(小数点以下桁数0)
となっていますが小数点は表示されています。

A 回答 (3件)

こんにちは。



これと同じ原因だと思います。
http://www.okweb.ne.jp/kotaeru.php3?qid=277321

「貨幣型」を使用すれば出来ます。

ではでは・・・

参考URL:http://www.okweb.ne.jp/kotaeru.php3?qid=277321
    • good
    • 0
この回答へのお礼

お礼が大変遅くなりすみませんでした。
「通貨型」でOKのようでした。
ありがとうございました。

お礼日時:2003/05/19 12:24

はじめてまして。


ちょっとやってみていただけませんか?

>単価:単精度浮動小数点型(小数点以下桁数0)
ここは、
単価:単精度浮動小数点型(小数点以下桁数1)
でしょう。
それと、クエリーで単精度/倍精度の変数タイプを使用するとデータ化けが起きる可能性がありますので、もし直らないのでしたら、今度は、テーブルの単精度の変数タイプを10進タイプに変えて試してみてください。もちろん少数点以下は「1」で指定しておいて下さい。
    • good
    • 0
この回答へのお礼

お礼が遅くなり申し訳ありません。
通貨型にしてOKでした。
小数点以下は1にすると小数点以下がないものまで
表示されてしまいますが(例えば100.0)
印刷時には大丈夫のようでした。
ありがとうございました。

お礼日時:2003/05/19 12:26

=Int([個数]*CCur([単価]))



単価:単精度浮動小数点型を通貨型の数値に変換します。
これでいいかと思います。
    • good
    • 0
この回答へのお礼

お礼が大変おそくなりました。

ありがとうございました。
単価を通貨型にしてOKでした。

お礼日時:2003/05/19 12:23

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