반응형
📌 자바 10진수 형식의 Format 변경
자바의 java.text 패키지에는 Format을 변경할 수 있는 클래스가 존재하며 그 중 10진수 형식의 Format을
변경할 수 있도록 하는 DecimalFormat 클래스를 사용하여 원하는 형식으로 변경할 수 있다.
ex) 자릿수에 따른 쉼표, 빈자리 채우기, 단위 표시 등 ...
1️⃣ Decimal Pattern
Pattern | Describe | return |
0 | 10진수, 값이 없는 자리는 0으로 채운다 | 0 0.0 000.000 |
# | 10진수, 값이 없어도 채우지 않는다. | # #.## ####.### |
. | 소수점 표시 | ###.## ###.00 00.00 |
, | 단위 구분자 표시 | #,##.# |
+, - | 지수 기호를 표시, E 이후 0를 써서 표현 | +#.## -#.## |
E | 지수 문자 | 0.0#00 |
; | 양수와 음수를 모두 표시할 경우의 구분자 | +#.##;-#.## |
% | 100을 곱하고 백분율로 표시 | #.###% |
\u2030 | 1000을 곱하고 밀리 값으로 표시 | |
\u00A4 | 통화 표시 | \u00A4####.## |
' | escape문자, #을 문자로 나타내고 싶다면 '#' 으로 표현 |
2️⃣ Exemple Code
import java.text.DecimalFormat;
import java.text.NumberFormat;
import java.util.Locale;
public class DecimalFormatExemple {
public static void main(String[] args) {
// 변환할 값
double n = 12345.6789;
// 빈자리를 0으로 채워 표현
DecimalFormat df = new DecimalFormat("0");
System.out.println(df.format(n)); // 출력값 : 12346
df = new DecimalFormat("0.0");
System.out.println(df.format(n)); // 출력값 : 12345.7
df = new DecimalFormat("000000.00000");
System.out.println(df.format(n)); // 출력값 : 012345.67890
// 빈자리 채우지 않고 표현
df = new DecimalFormat("#");
System.out.println(df.format(n)); // 출력값 : 12346
df = new DecimalFormat("######.###");
System.out.println(df.format(n)); // 출력값 : 12345.679
// 빈자리 채우기와 채우지 않기의 조합 + 단위구분(,)
df = new DecimalFormat("#,###.00000");
System.out.println(df.format(n)); // 출력값 : 12,345.67890
// 백분율 표시
df = new DecimalFormat("#.##%");
System.out.println(df.format(n)); // 출력값 : 1234567.89%
// 통화표시(\u00A4 )
df = new DecimalFormat("\u00A4####.##");
System.out.println(df.format(n)); // 출력값 : ₩12345.68
// NumberFormat을 이용하여 통화표시를 지정할 수 있다.
// Locale을 사용하여 국가 지정시 해당 국가의 통화기호 및 자리수 구분까지 된다.
NumberFormat nf = NumberFormat.getCurrencyInstance( Locale.KOREA );
// 소수점 2자리까지 지정
nf.setMaximumFractionDigits(2);
System.out.println(nf.format(n)); // 출력값 : ₩12,345.68
}
}
📌 참고사이트
반응형
'Backend > Java (Spring)' 카테고리의 다른 글
[Java] 자바 ArrayList를 이용한 집합 연산 방법 (0) | 2022.12.05 |
---|---|
[Java] 자바 문자열 반복하기(repeat) (0) | 2022.11.09 |
[Java] 숫자 왼쪽에 0으로 값 채우기 (0) | 2022.11.04 |
[Java] Map을 List로 변환하는 방법 (0) | 2022.08.24 |
[Java] 자바 옵셔널(Java Optional)이란? (0) | 2022.07.18 |
최근댓글