숫자 타입만 가능 long > String
DecimalFormat df = new DecimalFormat("#,###");
System.out.println(df.format(2000000)); // "2,000,000"
문자열도 가능하도록 함수로 응용하면
public String getAmount(String value) {
// "" 인경우 parseLong에서 에러
if(value.equals("") || value.equals("0")) return "";
DecimalFormat df = new DecimalFormat("#,###");
value = df.format(Long.parseLong(value));
return value;
}
반대로 사용자입력으로 콤마가 찍힌 금액을 받아서 DB에 저장하거나 계산에 활용할 때는 Long으로 변환해야 하기 때문에 세트로 다시 변환하는 함수를 만들어 주는 것이 좋다.
if(!value.isEmpty()) { // null은 잡을 수 없음 ""만 가능
if(value.contains(",")) value = value.replace(",", "");
} //콤마제거하고 long으로 변환
🐥금액뿐만 아니라 주민번호나 사업자번호 처럼 자주 쓰는 포맷을 공통 함수로 만들면 편리하게 사용할 수 있다.