Windows8.1(64Bit)
Delphi XE5 Update2
FireDAC = 9.0.1 (Build 63974)
Oracle 11g([11.2.0.1.0)
の環境で
項目名:TEST
データの型: NUMBER(19,5)という項目を設定
FireDACのFDQueryを使用(FDQuery1)。
var
dWork : Double;
dWork := 9.12345;
その1
FDQuery1.Edit;
FDQuery1.FieldByName('TEST').AsFloat := dWork;
TESTの内容は「9.1235」
その2
FDQuery1.Edit;
FDQuery1.FieldByName('TEST').AsFloat := FloatToStr(dWork);
TESTの内容は「9.12345」
となります。
その1の場合に
小数点5桁以降が丸まってしまいます。
タの型: NUMBER(19,6)としても同じです。
何か設定が有るのでしょうか?
解る方いらっしゃいますか?
デー
まずは AsFloat ではなく AsExtended を使ってみてください。
AsFloat = Double
AsExtended = Extended
ですので。
但し 64bit アプリケーションでは Extended = Double となりますのでご注意下さい。
http://docwiki.embarcadero.com/Libraries/ja/System.Extended
それでもダメな場合には AsBCD と TBCD を使ってみてください。
http://docwiki.embarcadero.com/Libraries/ja/Data.DB.TField.AsBCD
http://docwiki.embarcadero.com/Libraries/ja/Data.FmtBcd.TBcd
DEKOさん。
ありがとうございました。
AsBCDで上手くいきました。
ツイート | ![]() |