Ich aktualisiere von JDK6 to JDK7. Der folgende Code zeigt eine geringfügige Änderung in Double.toString()
Java7 Double.toString() gibt 0.005/java6 zurück es ist 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
ich für jede Dokumentation Suche nach oben Änderung. Die Kompatibilitätsseite deckt es nicht ab.
5.0E-4
0.005 //changed.
0.05
0.5
Die Ausgabe wurde in vielen Referenzdateien gespeichert und verglichen mit String comparison- ich den Vergleich reparieren muß, aber neugierig weitere Informationen über diese Änderung zu kennen. Autoritäre Antwort auf, warum diese Änderung Kopfgeld erhält.
Ein weiterer Schwimmer Parsen Fehler in Java, die dazu führen würde, Der Compiler, der in eine Endlosschleife ging, war etwas interessanter. http://www.exploringbinary.com/java-hangs-when-converting-2-2250738585072012e-308/ – devnull