當我的double值超過7位數時,它以科學記數法顯示值。但是,我不想要科學記數法。將值從java中的科學記數法轉換爲簡單表示法
DecimalFormat是一種做同樣的方法,但爲此,我需要將值轉換爲字符串。 是否可以進行相同的轉換,而不將double轉換爲string。
當我的double值超過7位數時,它以科學記數法顯示值。但是,我不想要科學記數法。將值從java中的科學記數法轉換爲簡單表示法
DecimalFormat是一種做同樣的方法,但爲此,我需要將值轉換爲字符串。 是否可以進行相同的轉換,而不將double轉換爲string。
DecimalFormat.format(Object)可以處理double
沒有任何字符串參與。
如果您顯示它,它是一個字符串。
通過使用DecimalFormat的,你只是告訴Java的怎麼辦轉換
沒有這一點,它會使用默認的科學記數法
double d = 123456789.4335;
System.out.println(">> "+new DecimalFormat("#0.###").format(d));
System.out.println(">> "+d);
打印
>> 123456789.434
>> 1.234567894335E8
我會檢查它再次,DecimalFormat.format()方法的返回類型是字符串 – chetan 2011-03-18 10:10:15
嗯,科學記數法中的表示當然總是一個'String',因爲你只需要它顯示值。內部計算不知道任何符號,它不關心。 – Bombe 2011-03-18 10:28:48