【发布时间】:2011-05-15 11:29:53
【问题描述】:
大家好,我需要比较 if 语句中的 double。如果双精度数没有值/等于零,它应该什么都不做。否则它应该做点什么。
我的 if 语句 if (doubleNameHere > 0) 不起作用。
显然我在这里遗漏了一些基本的东西,有什么想法吗?
【问题讨论】:
-
这与 Xcode IDE 有什么关系?这是一个 Objective-C(因此也是 C)问题。用于编写/管理代码的 IDE 与编写代码的语言不同。重新标记。
-
另外:“它不起作用”是什么意思?您是否使用调试器验证了 doubleNameHere 的值是您在运行时认为的值?您是否尝试过将小数添加到文字零:(doubleNameHere > 0.)?
-
双精度数不可能没有价值。
-
比较双打很棘手。浮点数的内部表示并不是大多数人所期望的。例如,请参见此处:stackoverflow.com/questions/2743718/when-is-aa-true/…。浮点数也可以采用各种奇妙的值,例如 NaN 和负无穷大和正无穷大。您可能会尝试重写不直接使用双精度的代码。
标签: c math if-statement double