Day 47

ChangWoo·2023년 5월 23일
0

자바의 정석

목록 보기
45/71
post-thumbnail

ch 10-9~12 형식화 클래스, DecimalFormat

형식화 클래스

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

DecimalFormat

  • 숫자를 형식화할 때 사용(숫자 -> 형식 문자열)
double number = 1234567.89;
DecimalForat df = new DecimalFormat("#.#E0");
String result = df.format(number); // result = "1.2E6"

  • 특정 형식의 문자열을 숫자로 변환할 때도 사용(형식 문자열 -> 숫자)
DecimalFormat df = new DecimalFormat("#,###.##");
Number num = df.parse("1,123,567.89"); // parse를 사용하면 Number타입으로 바뀐다. / Number는 모든 숫자 래퍼클래스의 최고 조상
double d = num.doubleValue(); // 1234567.89 // double 타입으로 변경

[참고] Inter.parseInt()는 콤마(,)가 포함된 문자열을 숫자로 변환 못함 (Float, parseFloat도 같다.)

ch 10-13~16 SimpleDateFormat

SimpleDateFormat(1/2)

  • 날짜와 시간을 다양한 형식으로 출력할 수 있게 해준다.
Date today = new Date();
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
// 오늘 날짜를 yyyy-MM-dd 형태로 변환하여 반환한다.
String result = df.format(today);

SimpleDateFormat(2/2)

  • 특정 형식으로 되어 있는 문자열에서 날짜와 시간을 뽑아 낼 수도 있다.
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);
  • 문자열 -> 날짜와 시간 : parse() 사용
  • 문자열 <- 날짜와 시간 : format() 사용
  • parse로 문자열에서 날짜를 추출한다.
  • format을 통해 날짜를 다시 문자열로 변경하였다.
  • 대문자 H / h / m / s / S 를 많이 사용한다.
profile
한 걸음 한 걸음 나아가는 개발자

0개의 댓글