10장 형식화 클래스

slee2·2021년 9월 12일
0

Java의 정석

목록 보기
20/28
post-thumbnail

형식화 클래스

  • java.text패키지의 DecimalFormat, SimpleDateFormat
  • 숫자와 날짜를 원하는 형식으로 쉽게 출력 가능(숫자, 날짜 -> 형식 문자열)
double	number = 1234567.89;
DecimalFormat	df = new DecimalFormat("#.#E0");
String	result = df.format(number);	// result = "1.2E6"
  • 형식 문자열에서 숫자와 날짜를 뽑아내는 기능(형식 문자열 -> 숫자, 날짜)
DecimalFormat	df = new DecimalFormat("#,###.##");
Number	num = df.parse("1,234,567.89");
double	d = num.doubleValue();	// 1234567.89

DecimalFormat

  • 숫자를 형식화할 때 사용(숫자 -> 형식 문자열)
    예시는 위에. 더 자세한 패턴은 책에 자세히 나와있다. 외울필요는 없다.
기호의미패턴결과(1234567.89)
010진수(값이 없을 때는 0)0
0.0
00000000000.0000
1234568
1234567.9
0001234567.8900
#10진수#
#.#
#########.####
1234568
1234567.9
1234567.89
E지수기호#.#E0
0.0E0
0.0000000000E0
00.000000000E0
#.#########E0
##.########E0
1.2E6
1.2E6
1.234567890E6
12.34567890E5
1.23456789E6
1.23456789E6
  • 특정 형식의 문자열을 숫자로 변환할 때도 사용(형식 문자열 -> 숫자)
    이것도 예시는 위에있다.(형식 문자열에서~)
    [참고] Integer.parseInt()는 콤마(,)가 포함된 문자열을 숫자로 변환 못함

SimpleDateFormat

  • 날짜와 시간을 다양한 형식으로 출력할 수 있게 해준다.
Date	today = new Date();
SimpleDateFormat	df = new SimpleDateFormat("yyyy-MM-dd");

String	result = df.format(today);	// 오늘 날짜를 yyyy-MM-dd로 변환
기호의미보기
G연대(BC, AD)AD
y년도2006
M월(1~12 또는 1월~12월)10 또는 10월, OCT
w년의 몇 번째 주(1~53)50
W월의 몇 번재 주(1~5)4
D년의 몇 버내 일(1~366)100
d월의 몇 번째 일(1~31)15
F월의 몇 번째 요일(1~5)1
E요일
  • 특정 형식으로 되어 있는 문자열에서 날짜와 시간을 뽑아낼 수도 있다.
DateFormat	df = new SimpleDateFormat("yyyy년 MM월 dd월");
DateFormat	df2 = new SimpleDateFormat("yyyy/MM/dd");

Date	d = df.parse("2015년 11월 23일");	// 문자열을 Date로 변환
String result = df2.format(d);
기호의미보기
a오전/오후(AM, PM)PM
H시간(0~23)20
k시간(1~24)13
K시간(0~11)10
h시간(1~12)11
m분(0~59)35
s초(0~59)55
S천분의 일초(0~999)253
zTime zone(General tine zone)GMT+9:00
ZTime zone(RFC 822 time zone)+0900
`escape문자(특수문자를 표현하는데 사용)없음

0개의 댓글