double 類型轉化為Integer類型 ---DecimalFormat


假設x是你要轉換的double類型變量:

不進行四舍五入操作: (int)x

進行四舍五入操作: Integer.parseInt(new java.text.DecimalFormat("0").format(x));

 

DecimalFormat 是 NumberFormat 的一個具體子類,用於格式化十進制數字。該類設計有各種功能,使其能夠分析和格式化任意語言環境中的數,包括對西方語言、阿拉伯語和印度語數字的支持。它還支持不同類型的數,包括整數 (123)、定點數 (123.4)、科學記數法表示的數 (1.23E4)、百分數 (12%) 和金額 ($123)。所有這些內容都可以本地化。

DecimalFormat 包含一個模式 和一組符號

符號含義:

符號     位置     本地化?     含義
0     數字     是     阿拉伯數字
#     數字字     是     阿拉伯數字,如果不存在則顯示為空
.     數字     是     小數分隔符或貨幣小數分隔符
-     數字     是     減號
,     數字     是     分組分隔符
E     數字     是     分隔科學計數法中的尾數和指數。在前綴或后綴中無需加引號。
;     子模式邊界     是     分隔正數和負數子模式
%     前綴或后綴     是     乘以 100 並顯示為百分數
/u2030     前綴或后綴     是     乘以 1000 並顯示為千分數
¤(/u00A4)     前綴或后綴     否     貨幣記號,由貨幣符號替換。如果兩個同時出現,則用國際貨幣符號替換。如果出現在某個模式中,則使用貨幣小數分隔符,而不使用小數分隔符。
'     前綴或后綴     否     用於在前綴或或后綴中為特殊字符加引號,例如 "'#'#" 將 123 格式化為 "#123"。要創建單引號本身,請連續使用兩個單引號:"# o''clock"。

例子:

[java] view plain copy

    DecimalFormat df1 = new DecimalFormat("0.0");   
    DecimalFormat df2 = new DecimalFormat("#.#");   
    DecimalFormat df3 = new DecimalFormat("000.000");   
    DecimalFormat df4 = new DecimalFormat("###.###");   
    System.out.println(df1.format(12.34));   
    System.out.println(df2.format(12.34));   
    System.out.println(df3.format(12.34));   
    System.out.println(df4.format(12.34));   

運行結果:
12.3
12.3
012.340
12.34  

[java] view plain copy

    DecimalFormat format = new DecimalFormat("###,####.000");   
    System.out.println(format.format(111111123456.1227222));   
      
    Locale.setDefault(Locale.US);   
    DecimalFormat usFormat = new DecimalFormat("###,###.000");   
    System.out.println(usFormat.format(111111123456.1227222));   
      
    DecimalFormat addPattenFormat = new DecimalFormat();   
    addPattenFormat.applyPattern("##,###.000");   
    System.out.println(addPattenFormat.format(111111123456.1227));   
      
    DecimalFormat zhiFormat = new DecimalFormat();   
    zhiFormat.applyPattern("0.000E0000");   
    System.out.println(zhiFormat.format(10000));   
    System.out.println(zhiFormat.format(12345678.345));   
      
    DecimalFormat percentFormat = new DecimalFormat();   
    percentFormat.applyPattern("#0.000%");   
    System.out.println(percentFormat.format(0.3052222));   

運行結果 :
1111,1112,3456.123
111,111,123,456.123
111,111,123,456.123
1.000E0004
1.235E0007
30.522%
如果使用具有多個分組字符的模式,則最后一個分隔符和整數結尾之間的間隔才是使用的分組大小。所以 "#,##,###,####" == "######,####" == "##,####,####"。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM