1. DecimalFormat - 숫자 형식화

import java.text.DecimalFormat;

public class DecimalFormatExample {
    public static void main(String[] args) {
        double number = 1234567.89;
        
        *// 주요 패턴들*
        DecimalFormat df1 = new DecimalFormat("#,###.##");
        System.out.println(df1.format(number)); *// 1,234,567.89*
        
        DecimalFormat df2 = new DecimalFormat("0000000.000");
        System.out.println(df2.format(123.4)); *// 0000123.400*
        
        DecimalFormat df3 = new DecimalFormat("#.#%");
        System.out.println(df3.format(0.125)); *// 12.5%*
        
        DecimalFormat df4 = new DecimalFormat("₩#,###");
        System.out.println(df4.format(number)); *// ₩1,234,568*
    }
}

패턴 기호 정리:

2. SimpleDateFormat - 날짜 형식화

import java.text.SimpleDateFormat;
import java.util.Date;

public class SimpleDateFormatExample {
    public static void main(String[] args) {
        Date now = new Date();
        
        SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        System.out.println(sdf1.format(now)); *// 2024-01-15 14:30:45*
        
        SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy년 MM월 dd일 E요일");
        System.out.println(sdf2.format(now)); *// 2024년 01월 15일 월요일*
        
        *// 파싱*
        String dateStr = "2024-01-15";
        SimpleDateFormat parser = new SimpleDateFormat("yyyy-MM-dd");
        try {
            Date parsed = parser.parse(dateStr);
            System.out.println(parsed);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

SimpleDateFormat의 문제점:

3. ChoiceFormat - 범위별 형식화