[Java] String.format()
문자열 형식 지정
String.format() 메소드를 사용하면 C 언어의 printf 함수 처럼 서식 문자열을 사용한 형식 문자열을 만들 수 있다.
서식 문자열의 앞에 %를 붙여 문자열에 사용하면 그 위치에 변수의 값을 형식화 하여 대입 가능.
public class Main {
	public static void main(String[] args) {
    
	String str = "StringFormatExample";
        boolean bool = true;
        int n = 1234;
        LocalDateTime now = LocalDateTime.now();
        
        String result = String.format("문자열 서식: %s, %S", str, str);
        System.out.println(result);
        
        result = String.format("boolean 서식 문자열: %B, %b", bool, bool);
        System.out.println(result);
        
        result = String.format("정수 서식: %d, %o, %x, %05d", n, n, n, n); 
        System.out.println(result);  // %05d → 5자리수, 공백을 0으로 채움
	}
}
// 문자열 서식: StringFormatExample, STRINGFORMATEXAMPLE
// boolean 서식 문자열: TRUE, true
// 정수 서식: 1234, 2322, 4d2, 01234
숫자 / 문자 변환
| 서식 | 분류 | 설명 | 
|---|---|---|
| ‘b’, ‘B’ | 참 거짓 | boolean 값 지정 | 
| ‘h’, ‘H’ | 16진수 | 16진수 지정 | 
| ’s’, ‘S’ | 문자열 | 문자열 지정 | 
| ‘c’, ‘C’ | 문자 | 문자 지정 | 
| ‘d’ | 정수 | 10진 정수로 표시 | 
| ‘o’ | 정수 | 8진 정수로 표시 | 
| ‘x’, ‘X’ | 정수 | 16진 정수로 표시 | 
| ‘e’, ‘E’ | 부동 소수점 | 10진수(가수와 진수)로 표시 | 
| ‘f’ | 부동 소수점 | 10진수로 표시 | 
| ‘g’, ‘G’ | 부동 소수점 | 10진수(반올림)로 표시 | 
| ‘a’, ‘A’ | 부동 소수점 | 16진수(가수와 진수)로 표시 | 
| ‘t’, ‘T’ | 날짜, 시간 | 날짜 및 시간 서식 문자 앞에 지정ex) %tH, %tM, %tS, … | 
| ’%’ | 퍼센트 | 퍼센트 표시 | 
| ‘n’ | 줄 구분 | 개행문자 표시 | 
날짜 / 시간 변환
| 서식 | 분류 | 설명 | 
|---|---|---|
| ‘H’ | 시간 | 24시간 형식의 시(00-23) | 
| ‘I’(아이) | 시간 | 12시간 형식의 시(01-12) | 
| ‘k’ | 시간 | 24시간 형식의 시(0-23) | 
| ‘l’(엘) | 시간 | 12시간 형식의 시(1-12) | 
| ‘M’ | 시간 | 분(00-59) | 
| ‘S’ | 시간 | 분초(00-60) | 
| ‘L’ | 시간 | 밀리초(000-999) | 
| ‘N’ | 시간 | 나노초(000000000-999999999) | 
| ‘z’ | 시간 | UTC 오프셋.출력은 “+HHMM” 또는 “-HHMM” 형식의 문자열.여기서 +는 GMT 동쪽, -는 GMT 서쪽을 의미.HH는 GMT에서 시간 수를, MM은 GMT에서의 분 수를 나타냄. | 
| ‘Z’ | 시간 | 시간대명 | 
| ’s’ | 시간 | 1970년 1월 1일 시작 이후 초(00:00:00) | 
| ‘Q’ | 시간 | 1970년 1월 1일 시작 이후 밀리초(00:00:00) | 
| ‘B’ | 날짜 | 국가 고유의 전체 월명ex) January, Februry, … | 
| ‘b’, ‘h’ | 날짜 | 국가 고유의 축약 월명ex) Jan, Feb, … | 
| ‘A’ | 날짜 | 국가 고유의 전체 요일명ex) Sunday, Monday, … | 
| ‘a’ | 날짜 | 국가 고유의 축약 요일명ex) Sun, Mon, … | 
| ‘C’ | 날짜 | 세기 수(00-99)연도를 100으로 나누고 정수로 자름. | 
| ‘Y’ | 날짜 | 년(4자리), 음수 가능 | 
| ‘y’ | 날짜 | 년(2자리, 00-99) | 
| ‘j’ | 날짜 | 연도의 일(001-366) | 
| ‘m’ | 날짜 | 월(01-12) | 
| ‘d’ | 날짜 | 월의 일(01-31) | 
| ‘e’ | 날짜 | 월의 일(1-31) | 
| ‘R’ | 날짜/시간 | 초가 없는 24시간 형식(%H:%M과 동일) | 
| ‘T’ | 날짜/시간 | 초가 있는 24시간 형식(%H:%M:%S와 동일) | 
| ‘r’ | 날짜/시간 | 국가 고유의 AM/PM 형식 시간.국가 고유의 시간 형식을 사용할 수 없는 경우,디폴트는 POSIX 시간 AM/PM 형식(%I:%M:%S %p) | 
| ‘D’ | 날짜/시간 | 날짜 형식(%m/%d/%y와 동일) | 
| ‘F’ | 날짜/시간 | ISO 날짜 형식(%Y-%m-%d와 동일) | 
| ‘c’ | 날짜/시간 | 국가 고유 형식의 날짜/시간ex) %ta %tb %td %tT %tZ %tY→ Sun Jul 20 16:17:00 EDT 1969 | 
댓글남기기