[Java] / [자바]
숫자 천 단위에 컴마(,) 표시하기
* 목표 : DecimalFormat을 이용해 숫자에 컴마(,) 표시를 해보자.
금액과 같이 큰 숫자를 표시할 때 숫자에 컴마가 들어가게 하는 방법은 여러 가지가 있다.
그 대표적인 방법이 바로 Format을 이용하는 방법인데 다음과 같은 함수를 만들어 사용하면 간편하다.
private String makeStringComma(String inputStr) { // 천단위 콤마 처리
if (TextUtils.isEmpty(inputStr))
return inputStr;
String str = inputStr.replace(",",""); //기존 컴마 제거
BigDecimal bigDecimal = new BigDecimal(str);
DecimalFormat format = new DecimalFormat("###,###"); //포맷팅
String returnStr = format.format(bigDecimal);
return returnStr; //리턴
}
먼저 inputString의 value가 null, length==0 등 일 때를 확인하기 위해 TextUtils.isEmpty(String) 메서드를 사용한다. 해당 함수로 null과 length 체크를 한 뒤에 boolean 값을 리턴한다.
그 뒤 기존 컴마를 제거하기 위해 String의 replace 함수를 이용해 타깃인 컴마를 공백으로 바꿔준다.
BigDecimal은 Double과 같이 큰 숫자를 십진법으로 나타낼 때 많이 쓰인다.
BigDecimal?
- BigDecimal은 Java 언어에서 숫자를 정밀하게 저장하고 표현할 수 있는 유일한 방법이다.
- 소수점을 저장할 수 있는 가장 크기가 큰 타입인 double은 소수점의 정밀도에 있어 한계가 있어 값이 유실될 수 있다.
- Java 언어에서 돈과 소수점을 다룬다면 BigDecimal은 선택이 아니라 필수이다.
- BigDecimal의 유일한 단점은 느린 속도와 기본 타입보다 조금 불편한 사용법 뿐이다.
(출처 : jsonobject.tistory.com/466)
다음 DecimalFormat을 이용해 숫자를 내가 지정한 포맷인 "###,###" 로 적용한다.
그리고 해당 포맷을 적용한 String 값을 리턴한다.
'Back-end' 카테고리의 다른 글
[Node.js] Node.js 설치 및 REPL 터미널 실행 (0) | 2022.05.14 |
---|---|
[JSP / Spring] global.properties 변수값 가져오기 (0) | 2022.01.26 |
[JSP] <jsp:include> 와 <jsp:param> 그리고 XSS 보안이슈 (2) | 2021.07.20 |
[Java] String을 Json객체로 형변환하기 (0) | 2021.01.20 |
[Java] 예외 발생 시키기 (0) | 2021.01.19 |