.NET框架中是否定义了FLT_EPSILON?

Duc*_*tro 5 .net c# floating-point

可能的重复:
Double.Epsilon 表示相等、大于、小于、小于或等于、大于或等于

我最近发现FLT_EPSILON中的定义与 .NET Framework 中的定义<cfloat>完全不同。Single.Epsilon

  • FLT_EPSILON被定义为 1.0 + epsilon != 1.0 的最小值。

  • Single.Epsilon被定义为大于零的最小可能数。

<cfloat>.NET Framework 中的某处是否定义了 -style epsilon?或者,如果我需要定义自己的值,是否应该在 .NET 中定义与我在 中看到的值相同的值<cfloat>

Duc*_*tro 3

无论如何,.NET Framework 中都没有定义这一点。

如果您需要相同的常量,您可以将其定义为float Epsilon = 1.192092896e-07F;

有关替代方案和用法的更多讨论,请参阅:Double.Epsilon 表示相等、大于、小于、小于或等于、大于或等于