格式的數字我想格式化這個String
:爪哇 - 科學記數法
String number = "3.4213946120686956E-9";
這樣:
String number = "3.42E-9";
四捨五入到2位小數。我怎樣才能實現它?
格式的數字我想格式化這個String
:爪哇 - 科學記數法
String number = "3.4213946120686956E-9";
這樣:
String number = "3.42E-9";
四捨五入到2位小數。我怎樣才能實現它?
嘗試new DecimalFormat("0.##E0")
。的Javadoc:DecimalFormat
實施例:
public class Test {
private static java.text.DecimalFormat sf = new java.text.DecimalFormat("0.##E0");
public static void main(String[] args) {
System.out.println(sf.format(Double.parseDouble("3.4213946120686956E-9")));
}
};
輸出:3.42E-9
這還不是最完美的解決方案,但你可以:
EX:串號= 「3.4213946120686956E-9」;
如果字符串具有周期和E在它
分裂由週期字符串,和週期後得到的第2個字符= 42
得到最後3個在字符end = E-9
然後在period = 3 +「。」之前將所有字符加回來。 + 42 + E-9
不錯,但是這個方法並沒有收起來:) – gab06 2014-09-05 19:23:15
閱讀關於DecimalFormat。
String number = "3.4213946120686956E-9";
DecimalFormat format = new DecimalFormat("#.##E0");
System.out.println(format.format(new BigDecimal(number)));
可能的重複http://stackoverflow.com/questions/2944822/format-double-value-in-scientific-notation – resueman 2014-09-05 19:04:14
謝謝,這有幫助。 – gab06 2014-09-05 19:20:17