在给定相同输入的情况下,这两种方法是否会返回不同的值?
int compare1(float a, float b)
{
return Double.compare(a, b);
}
int compare2(float a, float b)
{
return Float.compare(a, b);
}
出于同样的原因,任何可存储在 java 的 Float 中的数字都可以存储在 java 的 Double 中而不会丢失任何精度,这是否正确(或错误)?
谢谢
最佳答案
<罢工>是的;将 double 转换为 float 会产生不同的结果。
如果 a
和 b
之间的差异太小而无法显示在 float 中,compare2()
将返回 0
而 compare1()
不会。
您刚刚编辑了问题以颠倒您的要求。新的答案是:
我几乎可以肯定它们将永远相同。
关于java - float 与 double(在 Java 中),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14444567/