【发布时间】:2011-09-29 16:52:01
【问题描述】:
抱歉,这可能是一个简单的愚蠢问题,但我需要知道才能确定。
我有这个if 表达式,
void Foo()
{
System.Double something = GetSomething();
if (something == 0) //Comparison of floating point numbers with equality
// operator. Possible loss of precision while rounding value
{}
}
这个表达式是否等于
void Foo()
{
System.Double something = GetSomething();
if (something < 1)
{}
}
?因为那样我可能会遇到问题,例如输入if值为 0.9。
【问题讨论】:
-
// Comparison of floating point numbers with equality // operator.你真的需要指定吗? :) -
见鬼没有。 0 到 1 之间有很多值。为什么不自己测试一下呢?
-
我只是写了和 Resharper 一样的东西,以显示我的重点在哪里。
-
@Charles:还有很多小于0的数字。