Java7 Double.toString () zwraca 0.005 / java6, to jest 0.0050

Aktualizuję zJDK6 do JDK7. Poniższy kod pokazuje niewielką zmianęDouble.toString()

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

Szukam jakiejkolwiek dokumentacji związanej z powyższą zmianą. Strona zgodności nie obejmuje tego.

5.0E-4
0.005   //changed.
0.05
0.5

Dane wyjściowe zostały zapisane w wielu plikach referencyjnych i porównane przez porównanie ciągów - muszę poprawić porównanie, ale z ciekawością dowiem się więcej o tej zmianie. Autorytatywna odpowiedź na pytanie, dlaczego ta zmiana dostanie nagrodę.

questionAnswers(1)

yourAnswerToTheQuestion