개발/JAVA

[JAVA] String.format을 이용한 문자열 형식 설정

Eun 2022. 4. 20. 15:26

프로그래머스 문제를 풀다가 String함수에 대한 것을 정리하고 익히기 위해 포스팅을 하기로 결심!

 

String의 format 메서드는 문자열의 형식을 설정하는 메소드이다.

 

1. %d (10진수)

2. %s (문자열 형식)

3. %f (실수형 형식)

4. %t (날짜시간 형식)

5. %c (유니코드 문자 형식)

6. %o, %x(8진수, 16진수)

 

간단하게 10진수, 문자열, 실수형까지만 다뤄보겠다.

 

예시)

1. %d

int i = 23;

System.out.println(String.format("%d", i));
System.out.println(String.format("%5d", i));
System.out.println(String.format("%-5d", i));
System.out.println(String.format("%05d", i));

결과값

- %5d와 같이 숫자를 넣으면 글자 길이를 설정가능하다.

- '-'을 넣으면 왼쪽정렬로 된다.(디폴트는 오른쪽 정렬)

- '0'을 넣으면 글자길이에 맞게 0을 넣어준다.

 

2.%s

String i = "Eun";
		
System.out.println(String.format("%s", i));
System.out.println(String.format("%5s", i));
System.out.println(String.format("%-5s", i));
System.out.println(String.format("%.2s", i));

결과값

- %5s와 같이 숫자를 넣으면 글자 길이 설정가능

- '-'을 넣으면 왼쪽정렬된다. (디폴트는 오른쪽 정렬)

- '.2'와 같이 '.+숫자' 를 넣으면 숫자만큼만 출력

 

 3. %f

double i = 123.45678;
		
System.out.println(String.format("%f", i));
System.out.println(String.format("%15f", i));
System.out.println(String.format("%.2f", i));
System.out.println(String.format("%15.2f", i));
System.out.println(String.format("%015.2f", i));

결과값

- %15f와 같이 숫자를 넣으면 글자 길이 설정가능

- .2f와 같이 '.+숫자'를 넣으면 소숫점아래 2자까지 출력가능

- 15.2f는 15글자로 맞추되, 소수 둘째자리까지만 출력 (.도 글자길이에 포함)

- 015.2f는 15글자로 맞추되, 소수 둘째자리까지만 출력하고 글자길이에 맞게 0으로 채운다.

 

 


- 참고