숫자 포매터 (Intl.NumberFormat)
일상
`Intl.NumberFormat`의 시각적 프론트엔드. 로케일(en-US·de-DE·ja-JP·…), 스타일(decimal·currency·percent·unit), 표기(standard·scientific·engineering·compact), 자릿수 정밀도 선택. 포맷된 출력과 그것을 만든 정확한 JavaScript 호출 표시 — 코드베이스에 붙여넣기 가능. 가격·개수·백분율·단위 값이 다른 시장에서 어떻게 렌더링되는지 미리보기에 유용.
—
포맷됨
1,234,567.891
JavaScript
new Intl.NumberFormat('en-US', {
"style": "decimal",
"notation": "standard",
"useGrouping": true,
"minimumFractionDigits": 0,
"maximumFractionDigits": 3
}).format(1234567.891)모든 포맷은 브라우저 내장 Intl.NumberFormat 사용 — 프로덕션 코드가 사용할 동일 엔진.
사용법
- 숫자 입력·로케일 선택.
- 스타일 선택(decimal/currency/percent/unit)·정밀도 조정.
- `1.2M` 스타일 요약은 compact 표기·`1.234E6`은 scientific 시도.
- 포맷 결과 또는 일치 JavaScript 스니펫 복사.
자주 묻는 질문
- 왜 독일어는 `1.234,56`을 쉼표 소수로 포맷?
- 로케일 관례. 독일어(`de-DE`)는 `.`을 천 단위 구분자·`,`을 소수로 — 미국 영어와 반대. `Intl.NumberFormat`은 모든 로케일에 대해 이를 알고 있어서 `toFixed()`와 자체 쉼표를 하드코딩하는 것은 국제 앱에 취약함.
- compact 표기는 무엇 용?
- 짧은 라벨 — `1.2K`·`3.4M`·일본어 `5億`. 공간이 중요하고 정확한 자릿수가 그렇지 않은 대시보드나 차트 축에 사용. 일반 UI 크기는 `maximumFractionDigits: 1`과 페어.
- percent가 왜 입력의 100배?
- percent 스타일은 100 곱셈. `0.42`를 `42%`로 포맷하려면 예상 동작; 이미 `42`로 미리 곱했고 `42%` 원하면 percent 스타일 대신 리터럴 `%` 추가.
- 어떤 통화·단위 지원?
- currency 스타일은 모든 ISO 4217 통화 코드. units는 브라우저가 정의된 승인 부분집합(meter·kilometer·mile·byte/megabyte 등) 지원 — 이 도구는 일반적인 것 노출. 전체 목록은 MDN Intl.NumberFormat 옵션 참조.