お世話になってます。
今回、ACCESSの単精度浮動小数点型のフィールドから
edit81.Text:=Query1.FieldByName('aaaa').AsString;
のようにして値を取得したのですが、ACCESSでは52.9になっているのに
delphiの方では、50.5999985のようになってしまいます。
os はXPで、delphiは7proを使っているのですが
このような場合どのような対処を取ればACCESSの表示どおりの値を
取得できるようになるでしょうか?
すいませんが、ご指導お願いいたします。
試していませんが単精度浮動小数点型のフィールドを
AsStringとするのはやめたほうがいいと思います。
edit81.Text := FloatToStr(Query1.FieldByName('aaaa').AsFloat);
としてはどうですか?
試してみましたが私の環境(Delphi5Pro,Win2000,Access2000,BDE接続)では
edit81.Text := Query1.FieldByName('aaaa').AsString;
edit81.Text := FloatToStr(Query1.FieldByName('aaaa').AsFloat);
のどちらも52.9000015258789と表示されますね。
edit81.Text := FormatFloat('0.#', Query1.FieldByName('aaaa').AsFloat);
とするか、Accessのフィールド型を倍精度にしてみる。
ほかにも、色々な方法があります。
どらさん、@っしーさん、ご指導ありがとうございます。
早速試してみたいと思います。
いろいろ探しているうちに今度は
ACCESSのOLEオブジェクト型の画像を代入&取得する方法
が知りたくなってしまいました。
もし知っていましたら教えていただけると助かります。
ツイート | ![]() |