【发布时间】:2013-01-17 17:49:39
【问题描述】:
我正在尝试遍历 X 和 Y 的所有组合。我将值增加 0.01,这是一个双精度值,但它实际上从未达到 0。
for (double x = -50; x < 50; x += 0.01)
{
for (double y = -50; y <50; y += 0.01)
{
//Some code
}
}
知道为什么会这样吗?我假设它与'double'有关,如果是这样,我可以使用什么作为替代方案?
更新:我将其更改为十进制,并将所有十进制数字更改为末尾有一个“m”。现在一切正常,我爱你们:D
现在的代码是 -
for (decimal x = -50; x < 50; x += 0.01m)
{
for (decimal y = -50; y < 50; y += 0.01m)
{
// Some code
}
}
【问题讨论】:
-
使用十进制而不是双精度