相关疑难解决方法(0)

C#的浮点比较函数

有人可以在C#中指向(或显示)一些好的通用浮点比较函数来比较浮点值吗?我想实现的功能IsEqual,IsGreater一个IsLess.我也只关心双打不漂浮.

.net c# floating-point

65
推荐指数
7
解决办法
9万
查看次数

Double.Epsilon表示相等,大于,小于,小于或等于,大于或等于

http://msdn.microsoft.com/en-us/library/system.double.epsilon.aspx

如果创建一个自定义算法来确定是否可以将两个浮点数视为相等,则必须使用大于Epsilon常量的值来确定两个值相等的可接受的绝对差值.(通常,差异幅度比Epsilon大很多倍.)

那么这不是真正可以用于比较的ε吗?我真的不明白MSDN的措辞.

它可以在这里的示例中用作epsilon吗?- 浮动和双重比较最有效的方法是什么?

最后这看起来非常重要,所以我想确保我有一个可靠的实现平等,大于,小于,小于或等于,大于或等于.

c# epsilon

52
推荐指数
5
解决办法
5万
查看次数

Java双重比较

有没有用于进行双重比较的java库?例如

public static boolean greaterThanOrEqual(double a, double b, double epsilon){
     return a - b > -epsilon;
}
Run Code Online (Sandbox Code Playgroud)

我开始的每个项目我最终都会重新实现这个并复制粘贴代码和测试.

NB为什么更好地使用第三方JAR的一个很好的例子是IBM推荐以下内容:

"如果您不知道基础测量的规模,使用测试"abs(a/b - 1)<epsilon"可能比仅仅比较差异更加稳健"

我怀疑很多人会想到这一点,并说明即使是简单的代码也可能是次优的.

java double

14
推荐指数
1
解决办法
1万
查看次数

标签 统计

c# ×2

.net ×1

double ×1

epsilon ×1

floating-point ×1

java ×1