Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- Matrix
- Stack
- Number Theory
- array
- implement
- dynamic programming
- 코테
- simulation
- greedy
- 자바
- Binary Search
- string
- database
- Method
- Tree
- 구현
- Counting
- bit manipulation
- Data Structure
- SQL
- 파이썬
- two pointers
- 코딩테스트
- hash table
- java
- geometry
- sorting
- Binary Tree
- Math
- Class
Archives
- Today
- Total
코린이의 소소한 공부노트
형식화 클래스 본문
[형식화 클래스]
- 숫자와 날짜를 원하는 형식으로 쉽게 출력 가능하게 해주는 클래스
- java.text패키지의 DecimalFormat, SimpleDateFormat 클래스가 이에 해당된다.
[DecimalFormat 클래스]
1. 숫자를 형식화할 때 사용하는 클래스(숫자 -> 형식 문자열)
double num = 1234567.89;
DecimalFormat df = new DecimalFormat("#.#E0");
String s = df.format(num); // s = "1.2E6"
// 1234567.89 -> 1.2*10^6
2. 패턴에 쓰이는 기호
1) 0: 10진수(값이 없을 때, 즉 빈자리는 0으로 채움)
1234567.89
패턴 -> 결과
0 -> 1234568
0.0 -> 1234567.9
0000000000.0000 -> 0001234567.8900
2) #: 10진수(0과는 다르게 빈자리는 채우지 않음)
1234567.89
패턴 -> 결과
# -> 1234568
#.# -> 1234567.9
##########.#### -> 1234567.89
3) E: 지수 기호
1234567.89
패턴 -> 결과
#.#E0 -> 1.2E6
0.0E0 -> 1.2E6
0.000000000E0 -> 1.234567890E6
00.00000000E0 -> 12.34567890E6
#.#########E0 -> 1.23456789E6
##.########E0 -> 1.23456789E6
3. 특정 형식의 문자열을 숫자로 변환할 때도 사용한다.(형식 문자열 -> 숫자)
// 형식이 있는 문자열 -> 숫자
DecimalFormat df = new DecimalFormat("#,###.##");
Number num = df.parse("1,234,567.89"); // Number는 모든 숫자 래퍼 클래스의 최고 조상
double d = num.doubleValue(); // d = 1234567.89
// Integer.parseInt() 등은 콤마(,)가 포함된 문자열을 숫자로 변환하지 못하기 때문에
// Number 클래스 이용
[SimpleDateFormat 클래스]
1. 날짜와 시간을 다양한 형식으로 출력할 수 있게 해 준다.
Date today = new Date();
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd"); // mm: minute
String s = df.format(today); // s = "2022-10-20"
2. 날짜 패턴에 쓰이는 기호
3. 특정 형식으로 되어있는 문자열에서 날짜와 시간을 뽑아낼 수 있다.
DateFormat df1 = new SimpleDateFormat("yyyy년 MM월 dd일");
DateFormat df2 = new SimpleDateFormat("yyyy/MM/dd");
try {
Date d = df1.parse("2022년 12월 25일");
String s = df2.format(d); // s = "2022/12/25"
} catch (ParseException e) { // 예외 처리 필수(checked exception)
System.out.println("형식에 맞는 문자열 입력하기");
}
4. 시간 패턴에 쓰이는 기호
'Java' 카테고리의 다른 글
ArrayList 클래스 (0) | 2022.10.27 |
---|---|
컬렉션 프레임워크 (0) | 2022.10.26 |
캘린더 클래스 (0) | 2022.10.12 |
문자열의 여러 가지 변환, 오토박싱, 언박싱 (0) | 2022.10.11 |
래퍼 클래스, 넘버 클래스 (0) | 2022.10.11 |