AZ Tools

숫자 포매터 (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 사용 — 프로덕션 코드가 사용할 동일 엔진.

사용법

  1. 숫자 입력·로케일 선택.
  2. 스타일 선택(decimal/currency/percent/unit)·정밀도 조정.
  3. `1.2M` 스타일 요약은 compact 표기·`1.234E6`은 scientific 시도.
  4. 포맷 결과 또는 일치 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 옵션 참조.

관련 도구