Intl.NumberFormat.prototype.resolvedOptions()
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"
语法
resolvedOptions()
参数
无。
返回值
一个新对象,其中包含此 NumberFormat 对象初始化期间计算出的选项。该对象按列出的顺序具有以下属性
locale-
通过 区域设置协商 过程确定的实际使用的区域设置的 BCP 47 语言标签。输出中可能只包含请求的
nuUnicode 扩展键(如果已请求)。 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参数中为该属性提供的值,并根据需要填充默认值。它是一个介于1和21之间的整数。默认值为1。 minimumFractionDigits,maximumFractionDigits可选-
在
options参数中为这些属性提供的值,并根据需要填充默认值。它们仅在必要时才存在;请参阅 数字选项。它是一个介于0和100之间的整数。 minimumSignificantDigits,maximumSignificantDigits可选-
在
options参数中为这些属性提供的值,并根据需要填充默认值。它们仅在必要时才存在;请参阅 数字选项。它是一个介于1和21之间的整数。 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参数中为该属性提供的值,并根据需要填充默认值。它是1、2、5、10、20、25、50、100、200、250、500、1000、2000、2500和5000之一。默认值为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 方法
// 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 |
浏览器兼容性
加载中…