我正在尝试编写一些代码来计算a
是否小于b
且具有n位容差,其中a
和b
是双精度变量。< / p>
例如,4.000000001 < 4.00000001
为TRUE
,4.0000000001 < 4.000000001
为FALSE
。 3.99999999 < 4.00000000
也是FALSE
。另请注意,a
和b
可能是否定的。
答案 0 :(得分:3)
这应该有效:
ndigits = 7;
round(a*10^ndigits) < round(b*10^ndigits)
答案 1 :(得分:1)
如果你真的想找<
关系,我会做
x < y + tolerance
其中,容差是一个值,表示 y
以上