728x90
반응형
DecimalFormat을 이용한 방법
DecimalFormat을 이용하여 문자열 포맷을 정의할 수 있음
문자열 형식은 DecimalFormat 객체를 생성할 때 인자로 전달
3자리마다 콤마를 찍으려면 아래처럼 "###,###" 포맷으로 설정하면 됨
DecimalFormat decFormat = new DecimalFormat("###,###");
String str = decFormat.format(123456789);
System.out.println(str);
str = decFormat.format(10100);
System.out.println(str);
Output 👇
123,456,789
10,100
소수 출력
만약 소수도 출력하고 싶다면, ".##" 처럼 포맷을 입력하면 됨
"###,###.##"는 3자리마다 콤마를 찍고, 소수 2자리까지만 출력한다는 의미(반올림)
NumberFormat numberFormat = NumberFormat.getInstance();
String str = numberFormat.format(123456);
System.out.println(str);
str = numberFormat.format(123456.7891);
System.out.println(str);
Output 👇
123,456
123,456.79
NumberFormat을 이용한 방법
NumberFormat을 이용하여 숫자에 콤마를 찍을 수 있음
NumberFormat은 설정된 Locale에서 사용하는 표기법으로 문자열을 formatting함
NumberFormat 객체를 생성할 때, getInstance()에 Locale 인자를 전달하지 않으면, Locale.US가 기본값으로 설정되며, 미국 숫자 표기법을 따라서, 3자리마다 콤마를 찍음
NumberFormat numberFormat = NumberFormat.getInstance();
String str = numberFormat.format(123456);
System.out.println(str);
str = numberFormat.format(123456.7891);
System.out.println(str);
Output 👇
123,456
123,456.789
만약 다른 국가의 숫자 표기법으로 출력하고 싶다면 NumberFormat을 생성할 때 Locale을 인자로 전달하면 됨
NumberFormat numberFormat = NumberFormat.getInstance(Locale.ITALY);
NumberFormat numberFormat2 = NumberFormat.getInstance(Locale.CHINA);
반응형
'프로그래밍 > JAVA' 카테고리의 다른 글
[Java] 날짜, 시간 구하기 (LocalDate, LocalTime, LocalDateTime) (0) | 2022.12.12 |
---|---|
[Java] 10진수를 16진수로 변환 (0) | 2022.12.08 |
[Java] 임의의 영숫자 문자열 생성 (0) | 2022.12.05 |
[Java] Stream List to Page (0) | 2022.11.25 |
[Java] List 중복 제거 방법 (0) | 2022.11.24 |