[英]Java - Format numbers in scientific notation
我想格式化此String
:
String number = "3.4213946120686956E-9";
對此:
String number = "3.42E-9";
四舍五入到兩位小數。 我該如何實現?
嘗試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
將字符串除以句點,然后得到句點= 42之后的前2個字符
最后獲得最后3個字符= E-9
然后只需將其與句號= 3 +“。之前的所有字符一起添加回去。 + 42 + E-9
閱讀有關DecimalFormat的信息 。
String number = "3.4213946120686956E-9";
DecimalFormat format = new DecimalFormat("#.##E0");
System.out.println(format.format(new BigDecimal(number)));
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.