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