일반적으로 문자열을 출력할 때 System.out.print() 메소드나 System.out.println() 메소드를 사용한다. 하지만 숫자형 데이터를 출력할 때 포맷을 지정하여 출력하고 싶다면 java.io 패키지에 있는 print()메소드와 println()메소드를 대신해 formatting 메소드를 사용해야 한다.
숫자 포맷과 관련하여 java.io 패키지에는 format()메소드와 printf()메소드가 있는데 두 메소드는 똑같은 작용을 한다.
예를 들어 아래와 같이 사용할 수 있다.
이 때 전달하는 인자 두개는, 첫 번째 인자는 출력할 포맷을 지정하고, 두 번째 인자는 해당 포맷에 들어갈 숫자값이다. 숫자형의 포맷을 지정할 땐느 퍼센트 부호(%)를 앞에 붙여 변환의 시작을 알리고 포맷 형태를 작성한다. 포맷 형태의 문자 종류는 다음과 같다.
변환값 |
설명 |
d |
10진 정수형 |
f |
실수형 |
n |
줄바꿈 |
tB |
날짜 형태(모든 날짜 값을 출력) |
td, te |
두자리 달과 일자를 출력 |
ty, tY |
ty는 두자리의 년도를 tY는 네자리의 년도를 출력 |
tl |
12시간 단위 시간 |
tm |
두자리 분 |
tp |
am/pm을 출력 |
이와 함께 10진 포맷을 결정하는 포맷 클래스도 있는데 java.text.DecimalFormat 클래스이다. DecimalFormat 클래스의 사용방법은 아래와 같다.
System.out.println("출력할 값은 12345678이고, 포맷은 ###,###.###일 때 출력되는 값은 " + myFormat.format(12345678) +"이다");
위 코드의 출력결과는 다음과 같다. 출력할 값은 12345678이고, 포맷은 ###,###.###일 때 출력되는 값은 12,345.678이다.
DecimalFormat 클래스의 패턴 출력 양식은 아래와 같다.
값 |
패턴 |
출력 |
123456.789 |
###,###.### |
123,456.789 |
123456.789 |
###.## |
123456.79 |
123.78 |
000000.00 |
000123.78 |
12345.67 |
$###,###.### |
$12,345.67 |
'자바(Java) > JAVA 2SE' 카테고리의 다른 글
숫자의 포맷을 지정하는 NumberFormat 클래스 (0) | 2010.12.01 |
---|---|
수학에 관련된 Math 클래스 (0) | 2010.12.01 |
자바의 숫자 객체인 Number 클래스(기본숫자형의 Wrapper객체) (0) | 2010.12.01 |
반복문 - for 문 (0) | 2010.12.01 |
자바 에러의 종류와 설명 (0) | 2010.12.01 |