Java DecimalFormat 用法
在實際開發中,需要把數字顯示固定一種格式,比如浮點型0.22或者千分位22,222,222,這時就可以用到java的DecimalFormat類去格式化。
一:介紹
DecimalFormat 是 NumberFormat 的一個具體子類,用於格式化十進位制數字。DecimalFormat 包含一個模式 和一組符號
符號含義:
0 一個數字
# 一個數字,不包括 0
. 小數的分隔符的佔位符
, 分組分隔符的佔位符
; 分隔格式。
- 預設負數字首。
% 乘以 100 和作為百分比顯示
? 乘以 1000 和作為千進位制貨幣符顯示;用貨幣符號代替;如果雙寫,用國際貨幣符號代替。如果出現在一個模式中,用貨幣十進位制分隔符代替十進位制分隔符。
X 字首或字尾中使用的任何其它字元,用來引用字首或字尾中的特殊字元。
例子:
# 一個數字,不包括 0
. 小數的分隔符的佔位符
, 分組分隔符的佔位符
; 分隔格式。
- 預設負數字首。
% 乘以 100 和作為百分比顯示
? 乘以 1000 和作為千進位制貨幣符顯示;用貨幣符號代替;如果雙寫,用國際貨幣符號代替。如果出現在一個模式中,用貨幣十進位制分隔符代替十進位制分隔符。
X 字首或字尾中使用的任何其它字元,用來引用字首或字尾中的特殊字元。
例子:
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
*/
二:用法
importjava.text.DecimalFormat;
publicclassTestNumberFormat{
publicstaticvoidmain(String[]args){
doublepi=3.1415927; //圓周率
//取一位整數
System.out.println(newDecimalFormat("0").format(pi)); //3
//取一位整數和兩位小數
System.out.println(newDecimalFormat("0.00").format(pi)); //3.14
//取兩位整數和三位小數,整數不足部分以0填補。
System.out.println(new DecimalFormat("00.000").format(pi));// 03.142
//取所有整數部分
System.out.println(newDecimalFormat("#").format(pi)); //3
//以百分比方式計數,並取兩位小數
System.out.println(new DecimalFormat("#.##%").format(pi)); //314.16%
longc=299792458; //光速
//顯示為科學計數法,並取五位小數
System.out.println(newDecimalFormat("#.#####E0").format(c)); //2.99792E8
//顯示為兩位整數的科學計數法,並取四位小數
System.out.println(newDecimalFormat("00.####E0").format(c)); //29.9792E7
//每三位以逗號進行分隔。
System.out.println(newDecimalFormat(",###").format(c)); //299,792,458
//將格式嵌入文字
System.out.println(newDecimalFormat("每秒###\米。").format(c));
}
}
DecimalFormat 類主要靠 # 和 0 兩種佔位符號來指定數字長度。0 表示如果位數不足則以 0 填充,# 表示只要有可能就把數字拉上這個位置。上面的例子包含了差不多所有的基本用法,如果你想了解更多,請參考 DecimalFormat 類的文件。
相關文章
- Java中DecimalFormat的用法JavaDecimalORM
- DecimalFormat數字格式化用法“0”和“#”的區別DecimalORM
- Math 以及 DecimalFormat 學習總結DecimalORM
- [Java]Stream用法Java
- java中Varargs用法Java
- java Properties的用法Java
- java split用法 案例Java
- Java中super的用法Java
- JAVA CDI @Inject基本用法Java
- java和redies的用法Java
- java中filter的用法JavaFilter
- java中switch的用法Java
- java中Scanner的用法。Java
- java ObjectIn/OutStream的用法JavaObject
- JAVA中...的特殊用法。Java
- Java 8 中Stream用法Java
- java之HashMap用法講解JavaHashMap
- Java 列舉 switch的用法Java
- JAVA8新特性用法Java
- java——split的用法(字串拆分)Java字串
- java繼承-super的用法Java繼承
- JAVA中subString的用法Java
- java.math.BigDecimal用法JavaDecimal
- java的定時器用法Java定時器
- Java習慣用法總結Java
- mongodb-java-driver基本用法MongoDBJava
- Java之中的Vector的用法Java
- JAVA的陣列基本用法Java陣列
- Java IdentityHashMap類的用法 | baeldungJavaIDEHashMap
- mongodb-java-driver的基本用法MongoDBJava
- JAVA中String format的用法JavaORM
- Java NIO 檔案通道 FileChannel 用法Java
- java中printf中用法詳解Java
- java中的HashMap用法總結JavaHashMap
- java中字串常量池的用法Java字串
- Java的clone()用法例項解析Java
- Java EL 詳細用法講解Java
- java replaceall 用法:處理特殊字元Java字元