프로젝트 진행 중 금액에 3자리 마다 콤마가 필요했다.
레퍼런스 찾아보던 중 toLocaleString()을 발견.
숫자를 지역화된 문자열로 변환하는 데 사용.
기본적으로 소수점 이하 세 번째 자리에서 반올림하는 방식으로 동작.
또한 숫자를 현재 지역 설정에 맞게 포맷하고, 천 단위 구분 기호를 추가해줌.
let number = 1600000000.0015;
console.log(number.toLocaleString()); // "1,600,000,000.002"
만약 소수점 자리가 3자리가 아닌 다른 자릿수를 원한다면 forFixed() 메서드 사용.
// 두자리까지
let number = 1600000000.0015;
let toFixedNumber = number.toFixed(2); // 소수점 이하 두 자리까지 반올림
console.log(toFixedNumber.toLocaleString()); // "1,600,000,000.00"
// 네자리까지
let number = 1600000000.0015;
let toFixedNumber = number.toFixed(4); // 소수점 이하 두 자리까지 반올림
console.log(toFixedNumber.toLocaleString()); // "1,600,000,000.0015"
// 로컬 인자를 넣으면 해당 로컬의 포맷으로 표시.
let number = 1600000000.0015;
console.log(number.toLocaleString('ko-KR')); // "1,600,000,000.002"
// style: "currency" 옵션을 주어 숫자를 통화 형식으로 표시.
let num = 1700000000.0015
console.log(num.toLocaleString('ja-JP', { style: "currency", currency: "JPY" })) //"¥1,700,000,000"
console.log(num.toLocaleString("de-DE", { style: "currency", currency: "EUR" })) //"1.700.000.000,00 €"