程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> java-求高手解答:DecimalFormat四捨五入問題。

java-求高手解答:DecimalFormat四捨五入問題。

編輯:編程綜合問答
求高手解答:DecimalFormat四捨五入問題。

我需要將一個數字格式化為###.0000格式,比如1.2,格式化為1.2000
12.00005,我希望得到12.0001
很遺憾我現在沒有找到好的辦法可以達到我的目的。
下面為我的測試代碼。
求大神給個方法,最好也能解釋下java.text.DecimalFormat的機制。

public class FormatTest {

    public static void main(String[] args) {
        java.text.DecimalFormat df = new java.text.DecimalFormat("###.0000");
        java.lang.Double db1 = new java.lang.Double("12.00005");
        java.lang.Double db2 = new java.lang.Double("12.00006");
        java.lang.Double db3 = new java.lang.Double("12.000055");
        java.lang.Double db4 = new java.lang.Double("12.000056");

        System.out.println(df.format(db1)); // 輸出結果是12.0000
        System.out.println(df.format(db2)); // 輸出結果是12.0001
        System.out.println(df.format(db3)); // 輸出結果是12.0001
        System.out.println(df.format(db4)); // 輸出結果是12.0001

    }
}

最佳回答:


 double d = 3.1465926;  
 String result = String.format("%.4f", d);
 System.out.println(result);

可以使用這個試試!

asiaasia666
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved