티스토리 뷰

반응형

 

자바스크립트에서 일반 숫자를 3자리마다 콤마(,)를 입력해줘야 되는 경우가 있습니다.
보통 금액적인 부분을 표기하고자 할때 자주 사용하거나
숫자의 길이가 너무 길어 보기 편하게 하고자 할때 사용을 합니다.

먼저 25763000 라는 숫자를 예시로 사용하였습니다.

이때 이 숫자가 보기에는 숫자지만 프로그램상에서는 문자형인지, 숫자형인지 확실하지 않기 때문에 Number()를 이용해서 형변환을 한번 해주었습니다.

// 금액값 입력
var money = 25763000;

// tlLocaleString() 함수를 이용한 콤마(,) 입력
// 금액이 문자형일수도 있어서 Number()를 이용해 숫자형으로 변환
var money_txt = Number(money).toLocaleString();
console.log(money_txt);

// 결과값
// 25,763,000

 

정규식일 이용하여 변환할수 있는 함수를 만들어서 사용하는 방법입니다.
이 경우는 변환하고자 하는 값이 꼭 숫자형이 아니더라도 변환 가능합니다.

// 정규식을 이용한 숫자 3자리마다 콤마(,)를 입력 
function money_comma(str) { 
  str = Number(str); 
  str = str.replace(/[^\d]+/g, ''); // 숫자만 남김 
  return str.replace(/(\d)(?=(?:\d{3})+(?!\d))/g, '$1,'); 
} 

// 정규식을 이용한 숫자만 추출 
function money_uncomma(str) { 
  str = Number(str); 
  return str.replace(/[^\d]+/g, ''); 
}

// 금액값 입력 
var money = 25763000;

// 콤마 입력
console.log(money_comma(money));

// 결과값 
// 25,763,000

// 콤마 제거
console.log(money_uncomma(money_comma(money));

// 결과값 
// 25763000

 

한번씩 필요할때 사용하면 좋을거 같아서 올려둡니다.

반응형
댓글