Intl.NumberFormat.prototype.resolvedOptions()

Baseline 已广泛支持

此功能已成熟,可跨多种设备和浏览器版本使用。自 2017 年 9 月以来,它已在浏览器中提供。

Intl.NumberFormat 实例的 resolvedOptions() 方法返回一个新对象,其中包含此 NumberFormat 对象初始化期间计算出的选项。

试一试

const numberFormat = new Intl.NumberFormat("de-DE");
const options = numberFormat.resolvedOptions();

console.log(options.locale);
// Expected output: "de-DE"

console.log(options.numberingSystem);
// Expected output: "latn"

console.log(options.style);
// Expected output: "decimal"

语法

js
resolvedOptions()

参数

无。

返回值

一个新对象,其中包含此 NumberFormat 对象初始化期间计算出的选项。该对象按列出的顺序具有以下属性

locale

通过 区域设置协商 过程确定的实际使用的区域设置的 BCP 47 语言标签。输出中可能只包含请求的 nu Unicode 扩展键(如果已请求)。

numberingSystem

options 参数中为该属性提供的值,或使用 Unicode 扩展键 "nu",并根据需要填充默认值。它是此区域设置支持的 数字系统。默认值取决于区域设置。

style

options 参数中为该属性提供的值,并根据需要填充默认值。它是 "decimal""percent""currency""unit"。默认值为 "decimal"

currency 可选

options 参数中为该属性提供的值。仅当 style"currency" 时才存在。它是一个 ISO 4217 货币代码;请参阅 Intl.supportedValuesOf()。如果 style"currency",则这是必需的,因此没有默认值。

currencyDisplay 可选

options 参数中为该属性提供的值,并根据需要填充默认值。仅当 style"currency" 时才存在。它是 "code""symbol""narrowSymbol""name"。默认值为 "symbol"

currencySign 可选

options 参数中为该属性提供的值,并根据需要填充默认值。仅当 style"currency" 时才存在。它是 "standard""accounting"。默认值为 "standard"

unit 可选

options 参数中为该属性提供的值。仅当 style"unit" 时才存在。它是 批准的单位标识符,来自 完整的 CLDR 列表。如果 style"unit",则这是必需的,因此没有默认值。

unitDisplay 可选

options 参数中为该属性提供的值,并根据需要填充默认值。仅当 style"unit" 时才存在。它是 "short""narrow""long"。默认值为 "short"

minimumIntegerDigits

options 参数中为该属性提供的值,并根据需要填充默认值。它是一个介于 121 之间的整数。默认值为 1

minimumFractionDigits, maximumFractionDigits 可选

options 参数中为这些属性提供的值,并根据需要填充默认值。它们仅在必要时才存在;请参阅 数字选项。它是一个介于 0100 之间的整数。

minimumSignificantDigits, maximumSignificantDigits 可选

options 参数中为这些属性提供的值,并根据需要填充默认值。它们仅在必要时才存在;请参阅 数字选项。它是一个介于 121 之间的整数。

useGrouping

options 参数中为该属性提供的值,并根据需要填充默认值,并对某些值进行规范化。它是 "always""auto""min2" 或布尔值 false。如果 notation"compact",则默认值为 "min2",否则为 "auto"

notation

options 参数中为该属性提供的值,并根据需要填充默认值。它是 "standard""scientific""engineering""compact"。默认值为 "standard"

compactDisplay 可选

options 参数中为该属性提供的值,并根据需要填充默认值。仅当 notation"compact" 时才存在。它是 "short""long"。默认值为 "short"

signDisplay

options 参数中为该属性提供的值,并根据需要填充默认值。它是 "auto""always""exceptZero""negative""never"。默认值为 "auto"

roundingIncrement

options 参数中为该属性提供的值,并根据需要填充默认值。它是 125102025501002002505001000200025005000 之一。默认值为 1

roundingMode

options 参数中为该属性提供的值,并根据需要填充默认值。它是 "ceil""floor""expand""trunc""halfCeil""halfFloor""halfExpand""halfTrunc""halfEven" 之一。默认值为 "halfExpand"

roundingPriority

options 参数中为该属性提供的值,并根据需要填充默认值。它是 "auto""morePrecision""lessPrecision"。默认值为 "auto"

trailingZeroDisplay

options 参数中为该属性提供的值,并根据需要填充默认值。它是 "auto""stripIfInteger"。默认值为 "auto"

示例

使用 resolvedOptions 方法

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

规范

规范
ECMAScript® 2026 国际化 API 规范
# sec-intl.numberformat.prototype.resolvedoptions

浏览器兼容性

另见