簡體   English   中英

Java-以科學計數形式格式化數字

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM