稍稍阅读后,这篇文章引起了我的兴趣:
考虑到 MSDN 的声明,我认为是的,这两个声明是等效的:
表示大于零的最小正双值。该字段是恒定的。
很想看看人们是怎么想的。
编辑:找到一台打开 VS 的计算机并运行此测试。事实证明,是的,正如预期的那样,它们是等价的。
[Test]
public void EpsilonTest()
{
Compare(0d);
Compare(double.Epsilon);
Compare(double.Epsilon * 0.5);
Compare(double.NaN);
Compare(double.PositiveInfinity);
Compare(double.NegativeInfinity);
Compare(double.MaxValue);
Compare(double.MinValue);
}
public void Compare(double x)
{
Assert.AreEqual(Math.Abs(x) == 0d, Math.Abs(x) < double.Epsilon);
}