반응형
안녕하세요. 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 |
댓글