본문 바로가기
Computer & Program/Java

[Java] String.format

by TDRemon 2020. 6. 23.
반응형

안녕하세요. TDR입니다.

평소에 쓸일이 거의 없지만 막상 쓸려고하면 기억이 안나서 정리하는 시리즈 입니다. 오늘 정리할 것은 Java의 콘솔 출력 시 format을 지정해서 출력하는 방식입니다. 예를들어,

  • 소수점 2자리까지만 출력하고 싶다.
  • 1000단위 마다 콤마를 찍고 싶다. (원화 표시)
  • 문자열을 10자리 단위로 출력하고 싶다.

와 같은 작업을 하고 싶을 때 어떻게 해야하는 지에 대한 정리입니다.

String.format();	// Formating한 문자열 반환
System.out.format();	// Formating한 문자열 출력

일반적으로 위와 같이 사용을 합니다. 크게 문자열을 다루는 것과 숫자를 다루는 방식이 있습니다.

문자열 Format

%[인자순서값$][-][자리수]s : 검은색 글자는 필수 값

[인자순서값$] : 인자 값이 여러개 일 때, 순서를 정함. 1부터 시작

[-] : 좌측정렬

[자리수] : 문자열 출력 자리수

// Example
System.out.println(String.format("%2$-10s%1$10s%3$-10s.", "Apple", "Orange", "Melon"));
// 출력 : Orange         AppleMelon     . 

숫자 Format

%d : 정수, %x : 16진수, %o : 8진수, %f : 소수

%[(][+][,].[소수점자리수]f : 검은색 글자는 필수 값

[(] : 음수일 경우 (숫자)로 표시

[+] : 양수일 때는 +숫자, 음수일 때는 -숫자. 위의 ( 와 같이 쓸 경우 후순위

[,] : 현재 Locale에 맞게 그룹화

System.out.println(String.format("%(,.3f", 53210.52342));
// 53,210.523
System.out.println(String.format("%(,.2f", -53210.52342));
// (53,210.52)
System.out.println(String.format("%+,.4f", 53210.52342));
// +53,210.5234
System.out.println(String.format("%+,.1f", -53210.52342));
// -53,210.5

 

위 예제 외에도 여러가지 format 형태가 있지만 이번에는 제가 필요한 수준으로 정리를 해보았습니다.

이상 TDR 이었습니다.

반응형

'Computer & Program > Java' 카테고리의 다른 글

[Java]Garbage Collection  (0) 2014.10.29
[Java]Call by value / reference  (0) 2014.10.28
[Java]추상 클래스 & 인터페이스  (0) 2012.03.11
[Java]접근제한자  (0) 2012.03.11
[Java]제한자  (0) 2012.03.04

댓글