簡體   English   中英

如何格式化 Java 中小數點后給定位數的浮點數?

[英]How can I format a float in Java with a given number of digits after the decimal point?

Java 中從浮點數中獲取字符串的最佳方法是什么,該字符串在點后僅包含 X 位數字?

這里有兩種處理問題的方法。

    public static void main(String[] args) {
    final float myfloat = 1F / 3F;

    //Using String.format 5 digist after the .
    final String fmtString = String.format("%.5f",myfloat);
    System.out.println(fmtString);

    //Same using NumberFormat
    final NumberFormat numFormat = NumberFormat.getNumberInstance();
    numFormat.setMaximumFractionDigits(5);
    final String fmtString2 = numFormat.format(myfloat);
    System.out.println(fmtString2);
}
  double pi = Math.PI;
  System.out.format("%f%n", pi);    //  -->  "3.141593"    
  System.out.format("%.3f%n", pi);  //  -->  "3.142"

注意: %n是換行符

來源: http://download.oracle.com/javase/tutorial/java/data/numberformat.html

Float.toString()是你所追求的嗎?

另請參閱Formatter程序 class 了解替代方法。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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