2012-06-28 69 views

回答

3

除了NaN之外,正如你所說的那樣,是的,那個不變應該保持不變。如果沒有,那是一個JDK bug。

Double.toString說,這在它的Javadoc:

多少位必須打印爲m或a的小數部分?必須至少有一位數字來表示小數部分,並且除此之外還需要多少位數,但只需要多少位數來唯一地區分參數值和類型爲double的相鄰值。也就是說,假設x是由該方法對有限非零參數d產生的十進制表示所表示的精確數學值。那麼d必須是最接近x的double值;如果兩個double值都同樣接近x,那麼d必須是其中之一,d的有效數字的最低顯著位必須爲0

總之,它返回足夠的數字,以確定這雙唯一的,所以Double.parseDouble應該返回完全相同的轉換爲一個字符串的雙。