确定的最佳方法是双倍不是零

use*_*949 6 .net c#

关于确定双倍的任何建议都不是零?

Sim*_*one 6

您必须设置与您正在解决的问题兼容的epsilon.然后,你可以使用类似的东西

bool DoubleEquals(double value1, double value2)
{
    return Math.Abs(value1 - value2) < epsilon;
}
Run Code Online (Sandbox Code Playgroud)

编辑
因为您询问了一种方法来确定double是否为零,您可以通过编写以下函数来使用此函数:

if (!DoubleEquals(value, 0)) { /* do your not zero things */ }
Run Code Online (Sandbox Code Playgroud)

我觉得这种方法更好,因为它更通用.


Sha*_*fiz 0

if ( Math.Abs(doubleNumber) > Math.Pow(1,-9) ) //doubleNumber not zero.
Run Code Online (Sandbox Code Playgroud)