2011-03-18 69 views
0

當我的double值超過7位數時,它以科學記數法顯示值。但是,我不想要科學記數法。將值從java中的科學記數法轉換爲簡單表示法

DecimalFormat是一種做同樣的方法,但爲此,我需要將值轉換爲字符串。 是否可以進行相同的轉換,而不將double轉換爲string。

回答

2

DecimalFormat.format(Object)可以處理double沒有任何字符串參與。

+0

我會檢查它再次,DecimalFormat.format()方法的返回類型是字符串 – chetan 2011-03-18 10:10:15

+0

嗯,科學記數法中的表示當然總是一個'String',因爲你只需要它顯示值。內部計算不知道任何符號,它不關心。 – Bombe 2011-03-18 10:28:48

2

如果您顯示它,它是一個字符串。

通過使用DecimalFormat的,你只是告訴Java的怎麼辦轉換

沒有這一點,它會使用默認的科學記數法

1
double d = 123456789.4335; 
System.out.println(">> "+new DecimalFormat("#0.###").format(d)); 
System.out.println(">> "+d); 

打印

>> 123456789.434 
>> 1.234567894335E8 
相關問題