我正在尝试使用此处给出的有关格式化数字的示例。
console.log((16).toLocaleString('en-GB', {
style: "unit",
unit: "liter",
unitDisplay: "long"
}));
我在chrome中尝试过,效果很好。然而,在Safari和火狐我收到以下错误分别Error: style must be either "decimal", "percent", or "currency"
和Error: invalid value "unit" for option style
。
从文档中,我认为在查看浏览器兼容性之后,它应该可以在所有浏览器上运行。我试图寻找答案,但是找不到关于此问题的任何信息。有谁知道这是为什么,或者我可能在哪里找到更多信息?
这个问题是从价值unit
的的style
领域。
根据ECMA-402,第六版,2019年6月ECMAScript®2019国际化API规范:
此字段的值必须是一条记录,该记录必须包含带有三种数字格式样式的名称的字段:“十进制”,“百分比”和“货币”。
根据ECMA-402草案/ 2020年2月27日,ECMAScript®2020国际化API规范:
此字段的值必须是Record,该字段必须具有带有四种数字格式样式的名称的字段:“ decimal”,“ percent”,“ currency”和“ unit”。
Firefox和Safari正在实施ECMA-402规范的第六版,而Chrome正在实施该同一规范的草稿版本。规范草案可以随时更改,并且没有正式保证该新unit
值将包含在第七版中。如果您希望跨浏览器兼容并且过时,则应坚持使用第6版,并等待第7版发布,然后再使用这些新功能。
如果需要详细信息,可以阅读此新功能的建议。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句