Delphi里小数超过20位后的问题!
问题如下:
var
sum: Extended;
begin
sum := 0.0;
sum := sum + table1.FieldByName('aaa').AsFloat / (1 - table2.FieldByName('bbb').AsFloat / 100) * 3000;
end;
代入数值也就是:
sum := 0.0 + 0.52269 / (1 - 2 / 100) * 30000;
实际用系统自带的计算器得到的值是:16000.714285714285714285714285714
可是在程序里面就变成只有6位小数位了,也就是16000.714286
我的数据集里面的字段是保留的6位小数,不会计算过后也是按6位来截取吧?这样算的话我后面那么多小数位全丢了,就不准确了,变量sum我用Real型也是这样,Extended类型不是可以保留19-20位小数吗?怎么会这样呢?
各位大哥,有没有遇到过?怎么解决呀?