2012-02-16

Delphi 中SQL Decimal資料型態小數位數進位問題

利用ADOQuery抓取資料,做數值運算時,
若SQL資料庫的資料型態為decimal(18,2)--2表示精準至小數2位,
小數進位方式為五捨六入,並非我們一般使用的四捨五入,
不知是否算為Delphi bug !

如35*1.777= 62.195
Delphi運算結果為62.19
正確應為62.20
var xDSubtot : Double
xDSubtot :=  Query_D.FieldByName('Qty').AsFloat * Query_D.FieldByName('UnitP').AsFloat;
Query_D.FieldByName('SubTot').AsVariant := FloatToStrF(xDSubtot,ffFixed,18,2);

沒有留言: