代码之家  ›  专栏  ›  技术社区  ›  stakx - no longer contributing Saravana Kumar

浮点值相等性测试:是否有“precision”常量的标准名称?

  •  0
  • stakx - no longer contributing Saravana Kumar  · 技术社区  · 14 年前

    我刚读 this nice answer given on how to compare floating-point values for equality . 建议将以下内容(由我略微修改)与0进行直接比较:

    const double epsilon = 1e-5;
    
    double d = ...;
    if (Math.Abs(d) < epsilon)
    {
        // d is considered equal to 0.
    }
    

    我的问题是关于变量的名称 epsilon 1) . “epsilon”是指定浮点数精度的公认名称吗? (…被视为不同数字的任何两个值之间的最小区别是什么?

    由于上述代码简单易懂,因此这似乎无关紧要。但是我经常在这个命名问题上遇到绊倒,我想知道,一次又一次,如何命名这个精度常数,以一种让其他阅读我的代码的人知道它的意图的方式。

    1) 我知道epsilon( γ 简而言之,或 e )通常用于表示偏差或误差,例如在统计学(回归分析)中。

    1 回复  |  直到 14 年前
        1
  •  0
  •   Will A    14 年前

    如果你是一个数学家,epsilon是一个很好的名字——如果你是一个长篇大论的普通人,那么微不足道的小价值就更好了。:)