이 번역은 완료되지 않았습니다. 이 문서를 번역해 주세요.

Intl.NumberFormat 객체는 언어에 민감한 숫자 포맷을 사용하도록 하는 객체 생성자 입니다.

문법

new Intl.NumberFormat([locales[, options]])
Intl.NumberFormat.call(this[, locales[, options]])

매개 변수

locales

선택적 요소입니다. BCP 47 언어 태그가 있는 문자열, 또는 이러한 문자열의 배열을 말합니다. 로케일 인수에 대한 일반적인 형식 및 해석은 Intl page을 참조하세요. 다음의 Unicode 확장 키가 허용됩니다:

nu
사용할 번호를 매기는 시스템입니다. 다음과 같은 값들을 사용할 수 있습니다 : "arab", "arabext", "bali", "beng", "deva", "fullwide", "gujr", "guru", "hanidec", "khmr", "knda", "laoo", "latn", "limb", "mlym", "mong", "mymr", "orya", "tamldec", "telu", "thai", "tibt".
options

선택적 요소입니다. 다음 프로퍼티의 일부 또는 전체를 가지는 객체는 다음과 같습니다:

localeMatcher
사용될 로케일 매칭 알고리즘입니다. 사용 가능한 값은 "lookup"과 "best fit"이고, 기본값은 "best fit"입니다. 이 옵션에 대해 더욱 많은 것을 알고 싶다면, Intl page를 참고하세요.
style
사용될 포맷 스타일입니다. 사용 가능한 값으로 평문 숫자 포맷은 "decimal", 통화 포맷은 "currency", 퍼센트(%) 포맷은 "percent"입니다. 기본 값은 "decimal"입니다.
currency
통화 포맷 시 사용될 통화입니다. 사용 가능한 값은 ISO 4217 통화 코드이며, 미국 달러화는 "USD", 유럽 유로화는 "EUR", 중국 위안화는 "CNY" 등과 같이 사용할 수 있습니다. — 현재 전 세계 통화 및 펀드 코드 목록을 참고하세요. 기본 값은 지정되어 있지 않습니다. 만약 style을 "currency"로 지정했다면, currency 프로퍼티 또한 반드시 지정되어야 합니다.
currencyDisplay
통화 포맷 시 통화가 표시되는 방법입니다. 사용 가능한 값으로 €와 같이 현지화된 통화 기호를 사용하는 "symbol", ISO 통화 코드를 사용하는 "code""dollar"와 같이 현지화된 통화 이름을 사용하는 "name"이 있습니다. 기본 값은 "symbol"입니다.
useGrouping
천 단위 혹은 천/라크/크로르 단위마다의 구분자의 삽입 여부입니다. 사용 가능한 값은 true와 false 입니다. 기본 값은 true입니다.

The following properties fall into two groups: minimumIntegerDigits, minimumFractionDigits, and maximumFractionDigits in one group, minimumSignificantDigits and maximumSignificantDigits in the other. If at least one property from the second group is defined, then the first group is ignored.

minimumIntegerDigits
The minimum number of integer digits to use. Possible values are from 1 to 21; the default is 1.
minimumFractionDigits
The minimum number of fraction digits to use. Possible values are from 0 to 20; the default for plain number and percent formatting is 0; the default for currency formatting is the number of minor unit digits provided by the ISO 4217 currency code list (2 if the list doesn't provide that information).
maximumFractionDigits
The maximum number of fraction digits to use. Possible values are from 0 to 20; the default for plain number formatting is the larger of minimumFractionDigits and 3; the default for currency formatting is the larger of minimumFractionDigits and the number of minor unit digits provided by the ISO 4217 currency code list (2 if the list doesn't provide that information); the default for percent formatting is the larger of minimumFractionDigits and 0.
minimumSignificantDigits
The minimum number of significant digits to use. Possible values are from 1 to 21; the default is 1.
maximumSignificantDigits
The maximum number of significant digits to use. Possible values are from 1 to 21; the default is 21.

설명

프로퍼티

Intl.NumberFormat.prototype
Allows the addition of properties to all objects.

메소드

Intl.NumberFormat.supportedLocalesOf()
Returns an array containing those of the provided locales that are supported without having to fall back to the runtime's default locale.

NumberFormat 인스턴스

프로퍼티

NumberFormat 인스턴스는 프로토타입에 선언되어 있는 프로퍼티를 상속받습니다. :

Intl.NumberFormat.prototype.constructor
A reference to Intl.NumberFormat.

메소드

NumberFormat 인스턴스는 프로토타입에 선언되어 있는 메소드를 상속받습니다. :

Intl.NumberFormat.prototype.format()
Getter function that formats a number according to the locale and formatting options of this NumberFormat object.
Intl.NumberFormat.prototype.formatToParts()
Returns an Array of objects representing the number string in parts that can be used for custom locale-aware formatting.
Intl.NumberFormat.prototype.resolvedOptions()
Returns a new object with properties reflecting the locale and collation options computed during initialization of the object.

예제

기본적인 사용 방법

로케일(지역 코드)을 지정하지 않고 사용하면, 기본 로케일 및 기본 옵션으로 만들어진 포맷된 문자열을 반환합니다.

var number = 3500;

console.log(new Intl.NumberFormat().format(number));
// → 미국 영어 로케일의 경우 '3,500' 표시

locales 사용

다음은 지역화된 숫자 포맷의 일부 형태를 보여주는 예제입니다. In order to get the format of the language used in the user interface of your application, make sure to specify that language (and possibly some fallback languages) using the locales argument:

var number = 123456.789;

// 독일은 소수점 구분자로 반점을 사용하고 천 단위 구분자로 온점을 사용
console.log(new Intl.NumberFormat('de-DE').format(number));
// → 123.456,789

// 대부분의 아랍어 사용 국가에서는 실제 아라비안 숫자를 사용
console.log(new Intl.NumberFormat('ar-EG').format(number));
// → ١٢٣٤٥٦٫٧٨٩

// 인도는 천, 라크(십만), 크로르(천만) 단위에 구분자 사용
console.log(new Intl.NumberFormat('en-IN').format(number));
// → 1,23,456.789

// nu 확장 키로 넘버링 시스템 지정 (아래 예시는 중국식 숫자 표기)
console.log(new Intl.NumberFormat('zh-Hans-CN-u-nu-hanidec').format(number));
// → 一二三,四五六.七八九

// 발리어와 같이 지원되지 않을 수도 있는 언어와 펄백 언어를 같이 지정한 경우
// 아래 예시는 인도네시아어를 펄백 언어로 지정
console.log(new Intl.NumberFormat(['ban', 'id']).format(number));
// → 123.456,789

options 사용

결과 값은 options 매개 변수를 이용해 사용자 지정이 가능합니다. :

var number = 123456.789;

// 통화 포맷
console.log(new Intl.NumberFormat('de-DE', { style: 'currency', currency: 'EUR' }).format(number));
// → 123.456,79 €

// 일본 엔화는 보조 통화 단위를 사용하지 않음
console.log(new Intl.NumberFormat('ja-JP', { style: 'currency', currency: 'JPY' }).format(number));
// → ¥123,457

// limit to three significant digits
console.log(new Intl.NumberFormat('en-IN', { maximumSignificantDigits: 3 }).format(number));
// → 1,23,000

사양

사양명 상태 Comment
ECMAScript Internationalization API 1.0 (ECMA-402)
The definition of 'Intl.NumberFormat' in that specification.
Standard 초기 정의.
ECMAScript Internationalization API 2.0 (ECMA-402)
The definition of 'Intl.NumberFormat' in that specification.
Standard  
ECMAScript Internationalization API 4.0 (ECMA-402)
The definition of 'Intl.NumberFormat' in that specification.
Draft  

브라우저 호환성

Update compatibility data on GitHub
DesktopMobileServer
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidEdge MobileFirefox for AndroidOpera for AndroidSafari on iOSSamsung InternetNode.js
NumberFormatChrome Full support 24Edge Full support 12Firefox Full support 29IE Full support 11Opera Full support 15Safari Full support 10WebView Android Full support YesChrome Android Full support 26Edge Mobile Full support YesFirefox Android Full support 56Opera Android Full support 14Safari iOS Full support 10Samsung Internet Android Full support Yesnodejs ?
prototypeChrome Full support 24Edge Full support YesFirefox Full support 29IE Full support 11Opera Full support 15Safari Full support 10WebView Android Full support YesChrome Android Full support 26Edge Mobile Full support YesFirefox Android Full support 56Opera Android ? Safari iOS Full support 10Samsung Internet Android Full support Yesnodejs ?
formatChrome Full support 24Edge Full support YesFirefox Full support 29IE Full support 11Opera Full support 15Safari Full support 10WebView Android Full support YesChrome Android Full support 26Edge Mobile Full support YesFirefox Android Full support 56Opera Android ? Safari iOS Full support 10Samsung Internet Android Full support Yesnodejs ?
formatToParts
Experimental
Chrome Full support 64Edge Full support YesFirefox Full support 58IE ? Opera Full support 51Safari ? WebView Android Full support 64Chrome Android Full support 64Edge Mobile ? Firefox Android Full support 58Opera Android ? Safari iOS ? Samsung Internet Android No support Nonodejs ?
resolvedOptionsChrome Full support 24Edge Full support 12Firefox Full support 29IE Full support 11Opera Full support 15Safari Full support 10WebView Android Full support YesChrome Android Full support 26Edge Mobile Full support YesFirefox Android Full support 56Opera Android ? Safari iOS Full support 10Samsung Internet Android Full support Yesnodejs ?
supportedLocalesOfChrome Full support 24Edge Full support YesFirefox Full support 29IE Full support 11Opera Full support 15Safari Full support 10WebView Android Full support YesChrome Android Full support 26Edge Mobile Full support YesFirefox Android Full support 56Opera Android ? Safari iOS Full support 10Samsung Internet Android Full support Yesnodejs ?

Legend

Full support  
Full support
No support  
No support
Compatibility unknown  
Compatibility unknown
Experimental. Expect behavior to change in the future.
Experimental. Expect behavior to change in the future.

참고

문서 태그 및 공헌자

이 페이지의 공헌자: SDSkyKlouD, mdnwebdocs-bot, alattalatta, SSJ-unclear
최종 변경자: SDSkyKlouD,