JavaScript 게임 활용

숫자 세 자리마다 콤마 찍기

밀하우스 마나스톰 2023. 4. 5. 18:48
let value = 12523401.515;
let str = value.toLocaleString();       // '12,523,401.515'

Number 타입의 내장 함수인 toLocaleString 함수를 통해

 

세 자리마다 콤마를 찍는 표기방식을 적용한 string 값을 얻을 수 있다.

 

 

 

let value = 12523401.515.toFixed(2);    // '12523401.52'
let str = value.toLocaleString();       // '12523401.52'

문제는 toFixed 함수(소수점 표시 제한)를 거친 뒤 toLocaleString 함수를 실행하면

 

세 자리마다 콤마를 찍지 않는다.

 

왜냐하면 toFixed로 인해 value의 타입이 string으로 바뀌었고, string의 내장 함수에는 toLocaleString이 없기 때문이다.

 

이 문제를 해결하는 방법으로는 toFixed를 사용하지 않고 다른 방법을 통해 소수점 표시 제한을 하고

 

value의 타입을 number로 유지하면 된다.

 

 

 

let value = 12523401.515;
let str = value.toLocaleString('en',{minimumFractionDigits:2, maximumFractionDigits:2});  // '12,523,401.52'