若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);
沒有留言:
張貼留言