개발/Java
Java DecimalFormat으로 세 자리마다 콤마(,) 찍기, 소수점 자리수 표시하기 (Decimalformat in java)
moonong
2020. 1. 26. 15:52
반응형
형식화 클래스는 숫자, 날짜, 텍스트 데이터를 일정한 형식에 맞체 표현하는 방법을 표준화 한 클래스이다. 형식화 클래스는 형식화에 사용되는 패턴을 정의하는데, 이를 통해 데이터를 형식화 시킬 뿐 아니라, 역으로 형식화 된 데이터에서 원본 데이터를 얻어낼 수도 있다. DecimalFormat 은 자바의 대표적인 형식화 클래스이다.
DecimalFormat 클래스
숫자를 형식화 하는데 사용되는 클래스이다. 화폐단위로 세 자리수마다 콤마(,) 를 찍거나, 성적처리 프로그램에서 평균, 표준편차 등을 소수점 n째 자리 수까지 표현하기 등에 사용할 수 있다. 가장 대표적인 패턴 기호로 0 와 # 이 있다.
0, # 패턴 기호는 모두 10진수를 표현한다. 가장 큰 차이점은
0은 실제 값이 존재하지 않더라도 해당 자리수를 나타내며,
#는 값이 없다면 해당 자리수를 출력하지 않는다.
ex) 1234567.89 를 다음 패턴에 맞추어 형식화 할 경우, 출력값은 다음과 같다.
double number = 1234567.89;
String[] pattern = {
"0",
"#",
"0.0",
"#.#",
"0.000",
"#.###",
"#,###.###",
"#E0",
"0E0",
"#.#%",
"\u00A4 #,###"};
for (int i = 0; i < pattern.length; i++) {
DecimalFormat df = new DecimalFormat(pattern[i]);
System.out.printf("%10s: %s\n", pattern[i], df.format(number));
}
출력값:
0: 1234568
#: 1234568
0.0: 1234567.9
#.#: 1234567.9
0.000: 1234567.890
#.###: 1234567.89
#,###.###: 1,234,567.89
#.#%: 123456789%
\u00A4 #,###: ₩ 1,234,568
반응형