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'
'JavaScript 게임 활용' 카테고리의 다른 글
A* 길 찾기 알고리즘 (0) | 2024.03.13 |
---|---|
CreateJS (0) | 2024.01.25 |
아주 심플한 가중치 랜덤 뽑기 (0) | 2022.07.19 |