일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- docker
- vuejs
- DevOps
- Kubernetes
- Spring
- dabase
- 자바
- 알고리즘
- map
- IntelliJ
- 코딩테스트연습
- SpringMVC
- cd
- ORM
- hibernate
- k8s
- JPA
- builder-pattern
- 프로그래머스
- 해시맵
- superBuilder
- java
- CI
- CI/CD
- CKA
- programmers
- Di
- 뷰
- Vue
- Oracle
Archives
- Today
- Total
문홍의 공부장
Java DecimalFormat으로 세 자리마다 콤마(,) 찍기, 소수점 자리수 표시하기 (Decimalformat in java) 본문
개발/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
반응형
'개발 > Java' 카테고리의 다른 글
[Java] 정규표현식(Regular Expression) : 자주 쓰는 정규식 정리(휴대전화, 이메일, 비밀번호 등) (1) | 2020.02.07 |
---|---|
[Java 8] java.time 패키지: Java LocalDate, LocalDateTime 클래스 사용법 (java.time package in Java SE8) (0) | 2020.01.27 |
Java SimpleDateFormat 으로 날짜/시간/요일 표현하기 (0) | 2020.01.26 |
Calendar 클래스의 개념과 예제 (Calendar class in java) (0) | 2020.01.16 |
HashMap 클래스의 개념과 예제 (Hashmap Java example) (0) | 2020.01.14 |