- 締切済み
Accessクエリの整数型と単精度型の演算について
Accessのクエリで長整数型と単精度浮動小数点型を 加算すると答えが一致しません。理由を知っている人いますか? ちなみに長整数型と倍精度浮動小数点型を加算したときは答えが一致します。 浮動小数点は誤差がつきものなのは分かりますが、 確か単精度浮動小数点型は有効桁数7桁までのはず。 下記の例では問題ないように見えます。 (例)長整数型と単精度浮動小数型の演算:1000+0.20=1000.20000000298 長整数型と倍精度浮動小数型の演算:1000+0.20=1000.2 それではよろしくお願いします。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- nicotinism
- ベストアンサー率70% (1019/1452)
回答No.1
こちらが参考になるかと。 第4回 演算誤差の正体 http://pc.nikkeibp.co.jp/pc21/special/gosa/eg4.shtml 2進数で10進数の小数点以下を表すのがそもそも無理が生ずるということだと。 例 倍精度浮動小数点型で計算 ?0.1*0.1-0.01 9.0209008882583E-19 ?int(0.12*1000) 119 通貨型 ( 型宣言文字 @ ) ?0.1@*0.1@-0.01@ 0 ?int(0.12@*1000) 120 Access2010 のヘルプでは「データ型変換関数」をご覧ください。