关于确定双倍的任何建议都不是零?
答案 0 :(得分:6)
您必须设置与您正在解决的问题兼容的 epsilon 。然后,你可以使用像
这样的东西bool DoubleEquals(double value1, double value2)
{
return Math.Abs(value1 - value2) < epsilon;
}
修改强>
由于您询问了一种方法来确定double是否为零,因此您可以通过编写以下函数来使用此函数:
if (!DoubleEquals(value, 0)) { /* do your not zero things */ }
我觉得这种方法更好,因为它更通用。
答案 1 :(得分:3)
嗨取决于你正在做什么样的计算。有时你会得到一个非常小的数字,接近于0但不完全
我经常做
if (Math.Abs(MyNumber) < 1e-10)
希望有所帮助
答案 2 :(得分:0)
if ( Math.Abs(doubleNumber) > Math.Pow(1,-9) ) //doubleNumber not zero.
答案 3 :(得分:0)
这足以检查双倍是否为零
double d = 0.00000005;
bool l = d.Equals(0);