JAVA/자바의 정석

[자바의 정석 - 기초편] 10. (3) 형식화 클래스 ( DecimalFormat / SimpleDateFormat )

서영22 2023. 12. 6. 23:28

 형식화 클래스 

- java.text 패키지의 DecimalFormat(10진수 형식화), SimpleDateFormat(날짜 형식화)

 

- 숫자와 날짜를 원하는 형식으로 쉽게 출력 가능 (숫자, 날짜 > 형식 문자열)

 

- 형식 문자열에서 숫자와 날짜를 뽑아내는 기능 (형식 문자열 > 숫자, 날짜) 

 

 

 

 

 DecimalFormat 

- 숫자를 형식화할 때 사용 (숫자 ➔ 형식 문자열)

double number = 1234567.89;   // 10진수
DecimalFormat df = new DecimalFormat("#.#E0") // 지수 형식
String result = df.format(number);   // result = "1.2E6"  (1.2 * 10^6)

 

 

 

- 특정 형식의 문자열을 숫자로 변환할 때도 사용 (형식 문자열 ➔ 숫자)

DecimalFormat df = new DecimalFormat("#,###.##")  // 문자열 형식
Number num = df.parse("1,234,567.89");
double d = num.doubleVaule();   // 1234567.89 숫자로 변경

* [참고] Integer.parseInt(), Float.parseFloat()...는 콤마가 포함된 문자열을 숫자로 변환 X

 

 

 

< 예제 >

 

 

 

 

 SimpleDateFormat 

 

 

 

- 날짜, 시간을 형식화할 때 사용 (날짜, 시간 ➔ 형식 문자열)

Date today = new Date();
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd")
// mm: 시간의 분, MM: 날짜의 월

// 오늘 날짜를 yyyy-MM-dd 형태로 변환하여 반환
String result = df.format(today)

 

 

 

- 특정 형식의 문자열을 날짜, 시간으로 변환할 때도 사용 (형식 문자열날짜, 시간)

DateFormat df = new SimpleDateFormat("yyyy년 MM월 dd일");
DateFormat df2 = new SimpleDateFormat("yyyy / MM / dd일");
Date d = df.parse("2023년 12월 06일");   // 문자열을 Date로 변환
String result = df2.format(d);

 

 

 

< 예제 >