나의 IT Note

[JavaScript] 숫자 3자리(천단위)마다 콤마(,) 추가(정규식, toLocaleString) 본문

JavaScript

[JavaScript] 숫자 3자리(천단위)마다 콤마(,) 추가(정규식, toLocaleString)

MaCoder 2024. 2. 27. 17:35

숫자 3자리마다 콤마(,) 찍기

숫자 3자리마다(천단위) 콤마(,)를 찍는 2가지 방법

정규식(Regular Expression) 사용

var number = 100000;
var number2 = 100000.123;
function addCommas(amount) {
    return amount.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",");
}
console.log(addCommas(number)) //100,000
console.log(addCommas(number2)) //100,000.123

toLocaleString() 함수 사용

number.toLocaleString(locales, options)

toLocaleString() 함수는 숫자를 로컬의 language format에 맞는 문자열로 변경해 줍니다.
매개변수를 전달하지 않으면 Default locale이 사용됩니다.

var number = 100000;
var number2 = 100000.123456;
console.log(number.toLocaleString()); //100,000
console.log(number2.toLocaleString()); //100,000.123

toLocaleString() 함수를 통해서 나온 결과는 소수점 3자리까지만 표현하기에 변수 number2의 소수점이 6자리인데 3자리로 출력이 되는걸 확인하실 수 있습니다.

var option = {
    maximumFractionDigits: 6 // 소수점을 6자리까지 표시
};
console.log(number2.toLocaleString('ko-KR', option)); //100,000.123456

두번째 매개변수인 option 객체 안에는 maximumFractionDigits 값을 변경하여 소수점 자리수를 지정할 수 있습니다.

사용자 PC환경의 locale 확인 방법

console.log(navigator.language) // 'ko-KR'

반응형
Comments