남궁성님의 자바의 정석 기초편을 보면서 혼자 공부하는 공간입니다. 참고 부탁드립니다.
형식화 클래스
- java.text패키지의 DecimalFormat (10진수 숫자) , SimpleFormat (날짜 형식화)
- 숫자와 날짜를 원하는 형식으로 쉽게 출력 가능 (숫자, 날짜 > 형식 문자열)
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
- 숫자를 형식화할 때 사용 (숫자 > 형식 문자열)
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"); // Number는 모든 숫자 래퍼클래스의 최고 조상
double d = num.doubleValue(); // 1234567.89
* 참고 Integer.ParseInt(), Double.parseDouble() 등 콤마(,)가 포함된 문자열을 숫자로 변환 못함
SimpleDateFormat
- 날짜와 시간을 다양한 형식으로 출력할 수 있게 해준다.
Date today = new Date();
SimpleDateFormat df = new SimpleDateFormat("yyyy-mm-dd");
//오늘 날짜를 yyyy-MM-dd형태로 변환하여 반환한다.
String result = df.format(today);
- 특정 형식으로 되어있는 문자열에서 날짜와 시간을 뽑아낼 수 있다.
(문자열에서 날짜는 parse , 날짜에서 문자열은 format)
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);
댓글