java.text패키지의 DecimalFormat(10진수 형식화), SimpleDateFormat(날짜 형식화)
1. DecimalFormat()
- 10진수(숫자)를 원하는 형식으로 쉽게 출력 가능(10진수 -> 형식 문자열)
double number = 1234567.89;
DecimalFormat df = new DecimalFormat("#.#E0"); // 지수형식
String result = df.format(number); // result = "1.2E6"
- 형식 문자열에서 10진수(숫자)를 뽑아내는 기능(형식 문자열 -> 10진수)
DecimalFormat df = new DecimalFormat("#,###.##");
Number num = df.parse("1,234,567.89");
double d = num.doubleValue(); // 1234567.89
- 사용방법
// double형 10진수 1234567.89를 "#.#E0" 지수 형식으로 변환하는 예시
double number = 1234567.89;
DecimalFormat decimalFormat = new DecimalFormat("#.#E0"); // 1. 원하는 출력형식의 패턴을 작성하여 DecimalFormat 인스턴스 생성
String result = decimalFormat.format(number); // 2. 출력할 문자열로 format메서드 호출
2. SimpleDateFormat()
- 날짜 형식화
- 날짜를 원하는 형식으로 쉽게 출력 가능(날짜 -> 형식 문자열)
- 날짜 형식 종류
- 사용 방법
// 1. 원하는 출력 형식 패턴을 작성하여 SimpleDateFormat 인스턴스 생성
SimpleDateFormat df = new SimpleDateFormat("yyyy-mm-dd");
// 2. 출력하려는 Date인스턴스로 format(Date d)메서드 호출하여 원하는 출력 형식 패턴으로 변환된 문자열을 얻음
Date today = new Date(); // 오늘 날짜를 Date인스턴스로 사용하기
String result = df.format(today);
- 예제
import java.util.*;
import java.text.*;
class Ex10_8 {
public static void main(String[] args) {
Date today = new Date();
SimpleDateFormat sdf1, sdf2, sdf3, sdf4;
SimpleDateFormat sdf5, sdf6, sdf7, sdf8, sdf9;
sdf1 = new SimpleDateFormat("yyyy-MM-dd");
sdf2 = new SimpleDateFormat("''yy년 MMM dd월 E요일");
sdf3 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
sdf4 = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss a");
sdf5 = new SimpleDateFormat("오늘은 올 해의 D번째 날입니다.");
sdf6 = new SimpleDateFormat("오늘은 이 달의 d번째 날입니다.");
sdf7 = new SimpleDateFormat("오늘은 올 해의 w번째 주입니다.");
sdf8 = new SimpleDateFormat("오늘은 이 달의 W번째 주입니다.");
sdf9 = new SimpleDateFormat("오늘은 이 달의 F번째 E요일입니다.");
System.out.println(sdf1.format(today)); // format(Date d)
System.out.println(sdf2.format(today));
System.out.println(sdf3.format(today));
System.out.println(sdf4.format(today));
System.out.println();
System.out.println(sdf5.format(today));
System.out.println(sdf6.format(today));
System.out.println(sdf7.format(today));
System.out.println(sdf8.format(today));
System.out.println(sdf9.format(today));
}
}
- 형식 문자열에서 날짜를 뽑아내는 기능(형식 문자열 -> 날짜)
import java.util.*;
import java.text.*;
class Ex10_9 {
public static void main(String[] args) {
DateFormat df = new SimpleDateFormat("yyyy년 MM월 dd일");
DateFormat df2 = new SimpleDateFormat("yyyy/MM/dd");
try {
Date d = df.parse("2022년 12월 30일");
System.out.println(df2.format(d));
} catch(Exception e) {}
} // main
}
'Java' 카테고리의 다른 글
Java 스택과 큐 (0) | 2023.01.03 |
---|---|
Java 컬렉션 프레임워크(collections framework) (0) | 2023.01.02 |
Java 날짜와 시간, Calendar 클래스 (0) | 2022.12.30 |
Java Number클래스 (0) | 2022.12.30 |
Java 래퍼(wrapper) 클래스, 오토박싱과 언박싱 (0) | 2022.12.30 |