DecimalFormat 詳解

DecimalFormat這個類主要使用來格式化十進制數。能夠根據pattern控制數字前端缺位自動補零的和後端缺位自動補零的個數,前綴和後綴的、分組符號和小數點的顯示。還能夠改變格式化符號的顯示,如小數點改成*,分組符號改成|。前端

用法 

DecimalFormat df1 = new DecimalFormat(pattern);  //pattern是一個字符串。java

df1.format(12.34)後端

pattern是由一些特定符號組成。spa

0 —— 表明一個數字 
# —— 表明一個數字,但不能是0 
. —— 表明小數的分隔符的佔位符 
, —— 表明分組分隔符的佔位符 
code

% —— 乘以 100 和做爲百分比顯示 orm

' —— 使用前綴,後綴時用ci

    double num = 123456789.12070;
	    System.out.println(".00 - " + new DecimalFormat(".00").format(num) + " 保留兩位小數");
	    System.out.println("00000000 - " + new DecimalFormat("00000000").format(12.043) + " 小數點前顯示八位,不足前端自動補零。"); 
	    System.out.println(".00000000 - " + new DecimalFormat(".00000000").format(12.043) + " 保留八位小數,不足末尾自動補零");
	    System.out.println(".### - " + new DecimalFormat(".###").format(num));
	    System.out.println(",000.000 - " + new DecimalFormat(",000.000").format(num) + " 分組顯示。");
	    System.out.println(".00E00 - " + new DecimalFormat(".00E00").format(num) + " 科學計數顯示,同時保留兩位小數,E後保留兩位數不足前端自動補零");
	    System.out.println(".000% - " + new DecimalFormat(".000%").format(0.1812) + " 百分比顯示,同時保留三位小數。");
	    System.out.println("prefix and suffix - " + new DecimalFormat("'dollar-'.00'$'").format(num) + " 'dollar-'是前綴,'$'是後綴。");
	    
	    
	    DecimalFormatSymbols unusualSymbols = new DecimalFormatSymbols(Locale.CHINA); 
	    unusualSymbols.setDecimalSeparator('*');
	    unusualSymbols.setGroupingSeparator('|');
	    DecimalFormat weirdFormatter = new DecimalFormat(",000.000", unusualSymbols);
	    System.out.println("Symbols Change - " + weirdFormatter.format(num) + " 把小數點符號改成*, 分組符號改成|");

結果

原始數值爲123456789.12070字符串

.00 - 123456789.12 保留兩位小數
form

00000000 - 00000012 小數點前顯示八位,不足前端自動補零。class

.00000000 - 12.04300000 保留八位小數,不足末尾自動補零

.### - 123456789.121

,000.000 - 123,456,789.121 分組顯示。

.00E00 - .12E09 科學計數顯示,同時保留兩位小數,E後保留兩位數不足前端自動補零

.000% - 18.120% 百分比顯示,同時保留三位小數。

prefix and suffix - dollar-123456789.12$ 'dollar-'是前綴,'$'是後綴。

Symbols Change - 123|456|789*121 把小數點符號改成*, 分組符號改成|

相關文章
相關標籤/搜索