Hello

Java 형식화클래스

by 볼빵빵오춘기

형식화 클래스

  • java.text패키지의 DecimallFormat(10진수 숫자), SimpleDateFormat(날짜 형식화)
  • 숫자와 날짜를 원하는 형식으로 쉽게 출력 가능(숫자, 날짜 → 형식화 문자열)
  • 형식 문자열에서 숫자와 날짜를 뽑아내는 기능(형식 문자열 → 숫자, 날짜)

 

DecimalFormat

  • 숫자를 형식화할 때 사용(숫자 → 형식 문자열)한다.
기호 의미 패턴 결과(1234567.89)
0 10진수(값이 없을 때는 0) 0
0.0
0000000000.0000
1234568
1234567.9
0001234567.8900
# 10진수 #
#.#
##########.####
1234568
1234567.9
1234567.89
E 지수기호 #.#E0
0.0E0
0.000000000E0
00.00000000E0
#.#########E0
##.########E0
1.2E6
1.2E6
1.234567890E6
12.34567890E5
1.23456789E6
1.23456789E6
  • 형식 문자열에서 숫자와 날짜를 뽑아내는 기능(형식 문자열 → 숫자, 날짜)
더보기

참고 : Integer.parseInt()는 콤마(,)가 포함된 문자열을 숫자로 변환 못함

 

예제

예제 코드1

import java.text.*;

class Ex10_6 {
	public static void main(String[] args) throws Exception {
		double number  = 1234567.89;
		String[] pattern = {
			"0",
			"#",
			"0.0",
			"#.#",
			"0000000000.0000",
			"##########.####",
			"#.#-",
			"-#.#",
			"#,###.##",
			"#,####.##",
			"#E0",
			"0E0",
			"##E0",
			"00E0",
			"####E0",
			"0000E0",
			"#.#E0",
			"0.0E0",
			"0.000000000E0",
			"00.00000000E0",
			"000.0000000E0",
			"#.#########E0",
			"##.########E0",
			"###.#######E0",
			"#,###.##+;#,###.##-",
			"#.#%",
			"#.#\u2030",
			"\u00A4 #,###",
			"'#'#,###",
			"''#,###",
		};
		
		for(int i=0; i < pattern.length; i++) {
		    DecimalFormat df = new DecimalFormat(pattern[i]);
		    System.out.printf("%19s : %s\n",pattern[i], df.format(number));
		}
	} // main
}

 

예제 코드2

더보기
import java.text.*;

class Ex10_7 {
	public static void main(String[] args) {
		DecimalFormat df  = new DecimalFormat("#,###.##");
		DecimalFormat df2 = new DecimalFormat("#.###E0");

		try {
			Number num = df.parse("1,234,567.89");
			System.out.print("1,234,567.89" + " -> ");

			double d = num.doubleValue(); 
			System.out.print(d + " -> ");

			System.out.println(df2.format(num));
		} catch(Exception e) {}
	} // main
}

블로그의 정보

Hello 춘기's world

볼빵빵오춘기

활동하기