我從JDK6 to JDK7升級。下面的代碼演示顯示了Double.toString()
Java7 Double.toString()返回0.005/java6它是0.0050
public class StringDemo
{
public static void main(String[] args)
{
System.out.println(Double.toString(.0005));
System.out.println(Double.toString(.005)); //different string
System.out.println(Double.toString(.05));
System.out.println(Double.toString(.5));
}
}
JRE6
5.0E-4
0.0050
0.05
0.5
JRE7
我找有關上述變化的任何文檔的微小變化。兼容性頁面不包括它。
5.0E-4
0.005 //changed.
0.05
0.5
輸出保存在許多參考文件,並比較了串comparison-我需要修復的比較,但很想知道有關這一變化的詳細信息。爲什麼這項改變會得到賞金的權威答案。
另一個浮動解析錯誤在Java中,將導致儘管如此,編譯器在無限循環中更有趣一些。 http://www.exploringbinary.com/java-hangs-when-converting-2-2250738585072012e-308/ – devnull 2013-04-04 13:35:57