Intl.NumberFormat.prototype.resolvedOptions()
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2017.
The resolvedOptions()
method of Intl.NumberFormat
instances returns a new object with properties reflecting the options computed during initialization of this NumberFormat
object.
Try it
Syntax
resolvedOptions()
Parameters
None.
Return value
A new object with properties reflecting the options computed during the initialization of this NumberFormat
object. The object has the following properties, in the order they are listed:
locale
-
The BCP 47 language tag for the locale actually used, determined by the locale negotiation process. Only the
nu
Unicode extension key, if requested, may be included in the output. numberingSystem
-
The value provided for this property in the
options
argument, or using the Unicode extension key"nu"
, with default filled in as needed. It is a supported numbering system for this locale. The default is locale dependent. style
-
The value provided for this property in the
options
argument, with default filled in as needed. It is either"decimal"
,"percent"
,"currency"
, or"unit"
. The default is"decimal"
. currency
Optional-
The value provided for this property in the
options
argument. It is only present ifstyle
is"currency"
. It is an ISO 4217 currency code. It is required ifstyle
is"currency"
so there is no default. currencyDisplay
Optional-
The value provided for this property in the
options
argument, with default filled in as needed. It is only present ifstyle
is"currency"
. It is either"code"
,"symbol"
,"narrowSymbol"
, or"name"
. The default is"symbol"
. currencySign
Optional-
The value provided for this property in the
options
argument, with default filled in as needed. It is only present ifstyle
is"currency"
. It is either"standard"
or"accounting"
. The default is"standard"
. unit
Optional-
The value provided for this property in the
options
argument. It is only present ifstyle
is"unit"
. It is a sanctioned unit identifier from the full CLDR list. It is required ifstyle
is"unit"
so there is no default. unitDisplay
Optional-
The value provided for this property in the
options
argument, with default filled in as needed. It is only present ifstyle
is"unit"
. It is either"short"
,"narrow"
, or"long"
. The default is"short"
. minimumIntegerDigits
-
The value provided for this property in the
options
argument, with default filled in as needed. It is an integer between1
and21
. The default is1
. minimumFractionDigits
,maximumFractionDigits
Optional-
The value provided for these properties in the
options
argument, with defaults filled in as needed. They are only present if necessary; see digit options. It is an integer between0
and100
. minimumSignificantDigits
,maximumSignificantDigits
Optional-
The value provided for these properties in the
options
argument, with defaults filled in as needed. They are only present if necessary; see digit options. It is an integer between1
and21
. useGrouping
-
The value provided for this property in the
options
argument, with default filled in as needed, and with some values normalized. It is either"always"
,"auto"
,"min2"
, or the booleanfalse
. The default is"min2"
ifnotation
is"compact"
, and"auto"
otherwise. notation
-
The value provided for this property in the
options
argument, with default filled in as needed. It is either"standard"
,"scientific"
,"engineering"
, or"compact"
. The default is"standard"
. compactDisplay
Optional-
The value provided for this property in the
options
argument, with default filled in as needed. It is only present ifnotation
is"compact"
. It is either"short"
or"long"
. The default is"short"
. signDisplay
-
The value provided for this property in the
options
argument, with default filled in as needed. It is either"auto"
,"always"
,"exceptZero"
,"negative"
, or"never"
. The default is"auto"
. roundingIncrement
-
The value provided for this property in the
options
argument, with default filled in as needed. It is one of1
,2
,5
,10
,20
,25
,50
,100
,200
,250
,500
,1000
,2000
,2500
, and5000
. The default is1
. roundingMode
-
The value provided for this property in the
options
argument, with default filled in as needed. It is one of"ceil"
,"floor"
,"expand"
,"trunc"
,"halfCeil"
,"halfFloor"
,"halfExpand"
,"halfTrunc"
, and"halfEven"
. The default is"halfExpand"
. roundingPriority
-
The value provided for this property in the
options
argument, with default filled in as needed. It is either"auto"
,"morePrecision"
, or"lessPrecision"
. The default is"auto"
. trailingZeroDisplay
-
The value provided for this property in the
options
argument, with default filled in as needed. It is either"auto"
or"stripIfInteger"
. The default is"auto"
.
Examples
Using the resolvedOptions
method
// Create a NumberFormat
const de = new Intl.NumberFormat("de-DE", {
style: "currency",
currency: "USD",
maximumFractionDigits: 2,
roundingIncrement: 5,
roundingMode: "halfCeil",
});
// Resolve the options
const usedOptions = de.resolvedOptions();
console.log(usedOptions.locale); // "de-DE"
console.log(usedOptions.numberingSystem); // "latn"
console.log(usedOptions.compactDisplay); // undefined ("notation" not set to "compact")
console.log(usedOptions.currency); // "USD"
console.log(usedOptions.currencyDisplay); // "symbol"
console.log(usedOptions.currencySign); // "standard"
console.log(usedOptions.minimumIntegerDigits); // 1
console.log(usedOptions.minimumFractionDigits); // 2
console.log(usedOptions.maximumFractionDigits); // 2
console.log(usedOptions.minimumSignificantDigits); // undefined (maximumFractionDigits is set)
console.log(usedOptions.maximumSignificantDigits); // undefined (maximumFractionDigits is set)
console.log(usedOptions.notation); // "standard"
console.log(usedOptions.roundingIncrement); // 5
console.log(usedOptions.roundingMode); // halfCeil
console.log(usedOptions.roundingPriority); // auto
console.log(usedOptions.signDisplay); // "auto"
console.log(usedOptions.style); // "currency"
console.log(usedOptions.trailingZeroDisplay); // auto
console.log(usedOptions.useGrouping); // auto
Specifications
Specification |
---|
ECMAScript Internationalization API Specification # sec-intl.numberformat.prototype.resolvedoptions |
Browser compatibility
BCD tables only load in the browser