Java의 String format이란?
printf() 메소드에서 사용하며, String 클래스의 static 메소드 중 하나이다.
문자열의 형식을 설정하며, C언어의 printf() 처럼 형식을 지정해 출력할 수 있게 한다.
종류
1. "%d" : 정수(int)를 출력
- 문자열 길이 고정 : 상수 + d 조합
- "%5d" : 길이 5 고정, 숫자 오른쪽부터 채워짐
- "%-5d" : 길이 5 고정, 숫자 왼쪽부터 채워짐
- "%05d" : 길이 5 고정, 여백 대신 특정 숫자(0)가 채워짐
- 숫자를 끊어서 표현하고 싶은 경우
- "%,d_" : 디폴트, 3자리씩 끊음
System.out.printf("%5d_", 1); // □□□□1_
System.out.printf("%-5d_", 1); //1□□□□_
System.out.printf("%05d_", 1); //00001_
2. "%s" : 문자열(String)을 출력
- 문자열 길이 고정 : 상수 + s 조합
- "%5s" : 길이 5 고정, 오른쪽 정렬
- "%-5s" : 길이 5 고정, 왼쪽 정렬
- "%.2s" : 문자열 중 앞 2글자만 출력
- "%-12.2s" : 길이 12로 고정하되, 문자열 s에서 2글자만 출력 후 나머지는 공백으로 할당 + 왼쪽 정렬
String str = "Hello";
System.out.printf("%10s_", str); // Hello_
System.out.printf("%-10s_", str); //Hello _
System.out.printf("%.3s_", str); //Hel_
System.out.printf("%-10.3s_", str);//Hel _
System.out.printf("%10.3s_", str); // Hel_
3. "%f" : 실수형(double, float) 출력
- 기본적으로 소수 부분은 6자리 출력 (빈칸은 0으로 채워서)
- "%.3f" : 소수점 3번째 자리 수 까지 나타내되, 4번째 자리에서 반올림한 뒤 나타냄!!
double n = 123.45678;
System.out.printf("%f_", 1.2); //1.200000_
System.out.printf("%12f_", n); // 123.456780_
System.out.printf("%-12f_", n); //123.456780 _ (빈칸 2 + 숫자 10)
System.out.printf("%.3f_", n); //123.457_ (** 4번째 자리에서 반올림)
System.out.printf("%12.2f_", n); // 123.46_
System.out.printf("%-12.2f_", n); //123.46 _
System.out.printf("%012.2f_", n); //000000123.46_
+ 그외에도 8진수는 "%o", 16진수는 "%x"로 나타낼 수 있다.
참고
'Java' 카테고리의 다른 글
정규 표현식 : REGEX (1) | 2024.02.08 |
---|---|
문제 풀 때 헷갈리는 자바 문법 정리 (0) | 2024.01.19 |
[ERROR] Web server failed to start. Port 8080 was already in use. 해결법 (0) | 2022.09.24 |