【发布时间】:2013-12-17 13:51:40
【问题描述】:
在 Delphi 5 中,当将两个 double 类型的值相加,一个正值和另一个负值相同时,我遇到了奇怪的问题。
举例
dbv = 50071763.721
crv = -50071763.721
当两个值相加时结果应该是0,但我得到的结果类似于0.0000000074505805969
我在 excel 中求和,结果为 0。
【问题讨论】:
-
这是世界上最常见的编程问题。
-
(您需要 Excel 来实现数学上 x + (-x) 等于零,这有点有趣...)
-
每个程序员都应该知道的浮点运算知识:floating-point-gui.de
-
欢迎来到浮点表示的世界。
-
您正在处理浮点数(您肯定必须处理过四舍五入),而您的结果几乎为零和四舍五入的概念没有出现错误????
标签: delphi floating-point delphi-5