자바에 천 단위(1,000)마다 콤마(,) 표시되도록 하기
오늘은 금액 데이터를 표시할때 천 단위마다 콤마가 표시되도록 해서 가독성을 향상시키는 방법에 대해 알아보도록 하겠습니다. 3자리마다 콤마를 표시하는 방법은 여러가지가 있으니 내용을 확인하시고 편한 방법으로 선택하여 사용하시면 되겠습니다.
DecimalFormat 클래스 활용
DecimalFormat 클래스를 이용하면 지정된 포맷 형식에 맞게 콤마(,)가 표시됩니다.
이때, 입력변수는 숫자타입 이어야 하며, 출력변수는 문자타입 이어야 합니다.
//import 대상 클래스(참고)
import java.text.DecimalFormat;
// 테스트 변수 선언(int)
int money1 = 1000000000;
int money2 = 1234567;
// DecimalFormat을 활용한 포맷 형식 선언
DecimalFormat df = new DecimalFormat("###,###");
//테스트 변수에 포맷 형식 적용하여 출력(String)
String money1Str = df.format(money1);
System.out.println("money1:" + money1Str);
String money2Str = df.format(money2);
System.out.println("money2:" + money2Str);
실행결과
money1:1,000,000,000
money2:1,234,567
NumberFormat 클래스 활용
DecimalFormat 클래스는 포맷을 직접 지정했지만, NumberFormat 클래스의 경우 사용자가 별도의 포맷을 지정하지 않아도 입력된 값에 따라 알맞은 포맷이 적용되어 출력되는것을 볼 수 있습니다. DecimalFormat 클래스와 마찬가지로 입력변수는 숫자타입 이어야 하며, 출력변수는 문자타입 이어야 합니다.
//import 대상 클래스(참고)
import java.text.NumberFormat;
// 테스트 변수 선언(int, double)
int money1 = 1000000000;
double money2 = 1234567;
// NumberFormat을 활용한 포맷 형식 선언
NumberFormat nf = NumberFormat.getInstance();
// 테스트 변수에 포맷 형식 적용하여 출력(String)
String money1Str = nf.format(money1);
System.out.println("money1:" + money1Str);
String money2Str = nf.format(money2);
System.out.println("money2:" + money2Str);
실행결과
money1:1,000,000,000
money2:1,234,567
정규식 활용
정규표현식에 익숙하거나 또는 해당 로직을 추후 javaScript등에도 활용하고자 하는 경우 정규표현식 1세트를 사전에 세팅해놓고 활용하셔도 좋을것 같습니다.
// 테스트 변수 선언(String)
String money1 = "1000000000";
String money2 = "1234567";
// 테스트 변수에 포맷 형식 적용하여 출력(String)
String money1Str = money1.replaceAll("\\B(?=(\\d{3})+(?!\\d))", ",");
System.out.println("money1:" + money1Str);
String money2Str = money2.replaceAll("\\B(?=(\\d{3})+(?!\\d))", ",");
System.out.println("money1:" + money2Str);
실행결과
money1:1,000,000,000
money2:1,234,567
'IT > JAVA' 카테고리의 다른 글
[JAVA] 06. 자바(JAVA) JDK 설치 - Open JDK 설치 (Temurin JDK) (1) | 2023.02.24 |
---|---|
[JAVA] 05. Oracle JDK 설치 (3) | 2023.02.22 |
[JAVA] 04. 자바(JAVA) 용어 정리 - JVM, JRE, JDK (0) | 2023.02.20 |
[JAVA] 03. 자바의 5가지 특징 (0) | 2023.02.16 |
[JAVA] 02. 자바의 유료화 (1) | 2023.02.06 |