提问人:llswdon 提问时间:10/13/2021 更新时间:10/13/2021 访问量:91
使用 <= 或 >= 运算符比较两个双精度值是否安全?[复制]
Is it safe to compare two doubles using <= or >= operators? [duplicate]
问:
我知道使用运算符比较两个双精度是不正确的。但是比较两个像 or 这样的双打是否安全?==
<=
>=
答:
-2赞
Utkarsh Sahu
10/13/2021
#1
实际上,这取决于您的需要。当然,运算符对于数据类型一点也不安全。但是使用像 和 可能不适合您的需要的运算符。因此,您可以将 double 转换为浮点数据类型,然后进行检查。我知道它不会为您提供精确度,但这是您必须做的方式。==
double
<=
>=
那些想知道为什么不安全的人,试试吧==
System.out.println(0.1 + 0.2 == 0.3);
您将得到输出为 .false
评论
1赞
Federico klez Culloca
10/13/2021
让我直截了当地说:既然比较 s 不精确,我们应该将它们转换为 s,这样我们才能进一步降低精度?double
float
0赞
Utkarsh Sahu
10/14/2021
@FedericoklezCulloca 所以这就是你想要的,对吧。您不想要不必要的精度。试试我上面说的例子,你就会知道我在说什么。另请观看:stackoverflow.com/questions/588004/...
评论