Intl.NumberFormat.prototype.resolvedOptions()

The resolvedOptions() method of Intl.NumberFormat instances returns a new object with properties reflecting the locale and number formatting options computed during initialization of this Intl.NumberFormat object.

Try it

Syntax

js
resolvedOptions()

Parameters

None.

Return value

A new object with properties reflecting the locale and number formatting options computed during the construction of the given Intl.NumberFormat object.

The resulting object has the following properties:

compactDisplay

Whether to use short or long form when using compact notation. This is the value provided in the options.compactDisplay argument of the constructor, or the default value: "short". The value is only present if notation is set to "compact", and otherwise is undefined.

currency

The currency to use in currency formatting. The value is defined if style is "currency", and is otherwise undefined. This is the value provided in the options.currency argument of the constructor.

currencyDisplay

The display format for the currency, such as a symbol, or currency code. The value is defined if style is "currency", and otherwise is undefined. This is the value provided in the options.currencyDisplay argument of the constructor, or the default value: "symbol".

currencySign

The method used to specify the sign of the currency value: standard or accounting. The value is present if style is "currency", and otherwise is undefined. This is the value provided in the options.currencySign argument of the constructor, or the default value: "standard".

locale

The BCP 47 language tag for the locale that was actually used. The key-value pairs that were requested in the constructor locale and are supported for this locale are included.

notation

The formatting that should be applied to the number, such as standard or engineering. This is the value provided in the options.notation argument of the constructor, or the default value: "standard".

numberingSystem

The numbering system. This is the value provided in the options.numberingSystem argument of the constructor, if present, or the value set using the Unicode extension key nu, or filled in as a default.

roundingMode

The rounding mode. This is the value provided for the options.roundingMode argument in the constructor, or the default value: halfExpand.

roundingPriority

The priority for resolving rounding conflicts if both "FractionDigits" and "SignificantDigits" are specified. This is the value provided for the options.roundingPriority argument in the constructor, or the default value: auto.

roundingIncrement

The rounding-increment precision (the increment used when rounding numbers). This is the value specified in the options.roundingIncrement argument in the constructor.

signDisplay

Whether or not to display the positive/negative sign. This is the value specified in the options.signDisplay argument in the constructor, or the default value: "auto".

unit

The unit to use in unit formatting. The value is only present if style is "unit", and is otherwise undefined. This is the value specified in the options.unit argument in the constructor.

unitDisplay

The display format to use for units in unit formatting, such as "long", "short" or "narrow". The value is only present if style is "unit", and is otherwise undefined. This is the value specified in the options.unitDisplay argument in the constructor, or the default value: short.

useGrouping

Whether or not to use grouping separators to indicate "thousands", "millions" and son on. This is the value specified in the options.useGrouping argument in the constructor, or the default value: "auto".

trailingZeroDisplay

The strategy for displaying trailing zeros on whole numbers. This is the value specified in the options.trailingZeroDisplay argument in the constructor, or the default value: "auto".

Only one of the following two groups of properties is included:

minimumIntegerDigits, minimumFractionDigits, maximumFractionDigits

The values provided for these properties in the options argument or filled in as defaults. These properties are present only if neither minimumSignificantDigits nor maximumSignificantDigits was provided in the options argument.

minimumSignificantDigits, maximumSignificantDigits

The values provided for these properties in the options argument or filled in as defaults. These properties are present only if at least one of them was provided in the options argument.

Examples

Using the resolvedOptions method

js
// 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

See also