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);

 


참고자료 : https://codechacha.com/ko/java-number-format-comma/

반응형
복사했습니다!