在Java裡,要讓float或double型態輸出成整數或一定的格式,通常都會使用printf來控制

但有一種狀況是無法透過printf解決,例如有小數取到小數第三位,若是小數為0則省略

這時候就可以透過DecimalFormat這個物件來解決,精準的控制格式

import java.text.DecimalFormat;

public class test
{
	public static void main(String args[]) {
		
		//建構時決定資料輸出格式
		//#字號當為小數後面為0時會自動去除
		DecimalFormat formatter = new DecimalFormat("#.###");
		//輸出0.35
		System.out.println(formatter.format(0.350));

		//透過applyPattern改變格式
		//Pattern 裡0的用處為,當需要自動補0時可以遞補
		formatter.applyPattern("0.00000");
		//輸出1.30000
		System.out.println(formatter.format(1.3));

		//金錢格式,輸出1,300與200,000
		formatter.applyPattern("#,###,###");
		System.out.println(formatter.format(1300));
		System.out.println(formatter.format(200000));

		//與字串一起輸出
		formatter.applyPattern("'abcdefg'#,###,###");
		System.out.println(formatter.format(1300));
		System.out.println(formatter.format(200000));
	}
}
Categories: Java