DecimalFormat 是NumberFormat 的一個具體子類,用於格式化十進制數字。
DecimalFormat 包含一個模式和一組符號
符號含義:
下列字符用在非本地化的模式中。已本地化的模式使用從此formatter 的DecimalFormatSymbols 對像中獲得的相應字符,這些字符已失去其特殊狀態。兩種例外是貨幣符號和引號,不將其本地化。
import java.text.DecimalFormat; public class TestDecimalFormat { public static void main(String[] args) { DecimalFormat df = new DecimalFormat(); double data = 1203.405607809; System.out.println("格式化之前:" + data); String pattern = "0.0";//1203.4 df.applyPattern(pattern); System.out.println("採用" + pattern + "模式格式化後:" + df.format(data)); // 可以在模式後加上自己想要的任何字符,比如單位pattern = "00000000.000kg";//00001203.406kg df.applyPattern(pattern); System.out.println("採用" + pattern + "模式格式化後:" + df.format(data)); //#表示如果存在就顯示字符,如果不存在就不顯示,只能用在模式的兩頭pattern = "##000.000kg";//1203.406kg df.applyPattern(pattern); System.out.println("採用" + pattern + "模式格式化後:" + df.format(data)); //-表示輸出為負數,必須放在最前面pattern = "-000.000";//-1203.406 df.applyPattern(pattern); System.out.println("採用" + pattern + "模式格式化後:" + df.format(data)); //,是分組分隔符:輸出結果12,03.41 pattern = "-0,00.0#";//-12,03.41 df.applyPattern(pattern); System.out.println("採用" + pattern + "模式格式化後:" + df.format(data)); //E表示輸出為指數,”E“之前的字符串是底數的格式,之後的是指數的格式。 pattern = "0.00E000";//1.20E003 df.applyPattern(pattern); System.out.println("採用" + pattern + "模式格式化後:" + df.format(data)); //%表示乘以100並顯示為百分數,要放在最後pattern = "0.00%";//120340.56% df.applyPattern(pattern); System.out.println("採用" + pattern + "模式格式化後:" + df.format(data)); //"/u2030"表示乘以1000並顯示為千分數,要放在最後pattern = "0.00/u2030";//203405.61‰ df.applyPattern(pattern); System.out.println("採用" + pattern + "模式格式化後:" + df.format(data)); //"/u00A4"貨幣符號,要放在兩端*****1203.41¥ pattern = "0.00/u00A4";//1203.41¥ df.applyPattern(pattern); System.out.println("採用" + pattern + "模式格式化後:" + df.format(data)); //'用於在前綴或或後綴中為特殊字符加引號,要創建單引號本身,請連續使用兩個單引號:"# o''clock"。 pattern = "'#'#" ;//#1203 // pattern = "'#'" ;//#1203 df.applyPattern(pattern); System.out.println("採用" + pattern + "模式格式化後:" + df.format(data)); pattern = "# o''clock" ;//1203 o'clock df.applyPattern(pattern); System.out.println("採用" + pattern + "模式格式化後:" + df.format(data)); //''放在中間或後面單引號就顯示在最後,放在最前面單引號就顯示在最前// pattern = "# o''clock.000" ;//1203.406 o'clock // pattern = "# .000o''clock";//1203.406 o'clock // pattern = "# .000''";//1203.406 ' // pattern = "# .''000";//1203.406 ' pattern = "''# .000";//'1203.406 df.applyPattern(pattern); System.out.println("採用" + pattern + "模式格式化後:" + df.format(data)); } }輸出結果為:
格式化之前:1203.405607809 採用0.0模式格式化後:1203.4 採用00000000.000kg模式格式化後:00001203.406kg 採用##000.000kg模式格式化後:1203.406kg 採用-000.000模式格式化後:-1203.406 採用-0,00.0#模式格式化後:-12,03.41 採用0.00E000模式格式化後:1.20E003 採用0.00%模式格式化後:120340.56% 採用0.00‰模式格式化後:1203405.61‰ 採用0.00¤模式格式化後:1203.41¥ 採用'#'#模式格式化後:#1203 採用# o''clock模式格式化後:1203 o'clock 採用''# .000模式格式化後:'1203.406
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。