立即窗口双/小数加法奇怪?还是这种类型的行为?

时间:2015-06-01 19:10:49

标签: visual-studio-2013

所以在大多数计算中,我得到了我的期望:

6.23 + 5.73 = 11.96
6.5 + 52.5 = 59.0

然而,我遇到了一个奇怪的案例:

6.41 + 52.47 = 58.879999999999995 // expected 58.88

我的IDE中有一些奇怪的配置吗?或者是这两个人的预期行为?

1 个答案:

答案 0 :(得分:0)

这就是许多编程语言中精度的工作原理。使用十进制值过于具体,结果并没有完全符合您的要求。我认为当它将值转换为固定的二进制表示时,这是一个编译器问题,导致那些轻微的值扭曲。只是避免尝试与双打/小数进行精确比较,因为你可能会感到惊讶。

你可以做得更多/更少,但避免说出一些完全等于18.755等等。