안녕하세요.
자바에서 금액을 표시할 때 천단위 콤마(,)를 넣는 방법을 알아보겠습니다.
금액을 읽기 편하기위해서는 숫자사이에 콤마를 넣어주어야합니다. 막상 구현하려고 하면 어떻게해야하는지 난감하죠. 그래서 이 블로그에 소스와 함께 숫자에 콤마찍는 방법을 설명해두겠습니다.
숫자에 콤마 찍기
예) 3125121 -> 3,125,121
중요한 것은 숫자 int형이나 long형이라면 콤마를 넣을때는 String 문자열이 된다는 점입니다.
자바에서 숫자 사이에 콤마( , )를 찍는 방법은 java.text.DecimalFormat 클래스를 활용하는 방법과 정규식을 활용하는 방법의 2가지가 대표적입니다. 소스로 보시는게 편하겠죠.
1. java.text.DecimalFormat 클래스를 이용해서 콤마찍기
int amount = 99999999999;
DecimalFormat df = new DecimalFormat("###,###");
String money = df.format(amount);
System.out.println(money);
결과
99,999,999,999
DecimalFormat 은 NumberFormat 을 상속받고 있습니다.
DecimalFormat(String pattern)를 이용하여 패턴을 입력합니다.
2. 자바 정규식을 활용하여 콤마찍기
String amount = "99999999999";
amount = amount.replaceAll("\\B(?=(\\d{3})+(?!\\d))", ",");
System.out.println(amount);
결과
99,999,999,999
위에서도 말씀드렸지만 콤마가 들어간 금액숫자는 문자열 String입니다. 취급할때 문자로 취급해서 사용해주시면 됩니다. 그럼 오늘도 코딩으로 스트레스 받지 마시고 즐거운 코딩라이프 되세요~
참고 Class NumberFormat
https://docs.oracle.com/javase/7/docs/api/java/text/NumberFormat.html
NumberFormat (Java Platform SE 7 )
Parses text from a string to produce a Number. The method attempts to parse text starting at the index given by pos. If parsing succeeds, then the index of pos is updated to the index after the last character used (parsing does not necessarily use all char
docs.oracle.com
공개 추상 클래스 NumberFormat
확장 형식
NumberFormat모든 로케일에 대한 숫자의 형식을 지정하고 구문 분석하는 데 도움이 됩니다. 코드는 소수점, 천 단위 구분 기호 또는 사용된 특정 십진수 또는 숫자 형식이 십진수인지 여부에 대한 로케일 규칙과 완전히 독립적일 수 있습니다.
현재 로케일의 숫자 형식을 지정하려면 팩토리 클래스 메소드 중 하나를 사용하십시오.
여러 숫자의 형식을 지정하는 경우 형식을 가져와 여러 번 사용하는 것이 더 효율적이므로 시스템이 현지 언어 및 국가 규칙에 대한 정보를 여러 번 가져올 필요가 없습니다.myString = NumberFormat.getInstance().format(myNumber);
다른 로케일에 대한 숫자 형식을 지정하려면 에 대한 호출에서 지정하십시오 getInstance.NumberFormat nf = NumberFormat.getInstance(); for (int i = 0; i < myNumber.length; ++i) { output.println(nf.format(myNumber[i]) + "; "); }
NumberFormat숫자를 구문 분석 하는 데 사용할 수도 있습니다 .NumberFormat nf = NumberFormat.getInstance(Locale.FRENCH);
myNumber = nf.parse(myString);
'프로그래밍 > JAVA' 카테고리의 다른 글
[JAVA] 문자열 NULL 널, 공백 체크하기 (0) | 2021.12.29 |
---|---|
[JAVA] 특수 문자 그림문자, 기호 제거하기 (0) | 2021.12.29 |
[JAVA] 자바 문자열이 숫자인지 체크하기(숫자입력체크) (0) | 2021.12.27 |
댓글