본문 바로가기

■ Web개발/Javascript

네자릿수 이상 숫자에 콤마 찍기(세자릿수 콤마) Javascript

number.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",");

number.toLocaleString("en-US");

var nf = new Intl.NumberFormat('en-US');
const k = nf.format(a);

 

세가지 방법이 보입니다.

모두 스트링 값을 반환하는데

number에서 string으로 변하는 값이 있고(네자릿수 이상)

number 그대로 남아있는 값들이 있다.(세자릿수 이하)

예외처리할 경우... number/string/null (없는 값) 이렇게 세가지로 나뉘어지면

 

let k: any = Math.round((numbers.value) * 100) / 100; // 소수점 2자리 아래 짜르기 위한 식 - 이 글과는 상관 없지만..

let a: any = k.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ","); // 3자리에 콤마 찍기.

return !isNaN(k) ? a : ""; //기존의 k값에 빈 값이 있는지 확인하고, 없으면 k 빈값이면 빈칸을 넣어준다.

isNaN(a)를 넣으면 오류가 발생하므로.. k를 넣어준다.