首页 > 解决方案 > toLocaleString 不适用于所有浏览器中小于 10000 的数字

问题描述

我正在开发一个应用程序,它根据用户的配置显示数字。一切都按预期工作,除非我在 Chrome 中尝试使用小于 10000 的数字,使用以下语言环境:“es-AR”。有任何想法吗?

铬合金:

在此处输入图像描述

火狐:

在此处输入图像描述

边缘: 在此处输入图像描述

console.log( (10000).toLocaleString("es-AR") );
console.log( (9999).toLocaleString("es-AR") );
console.log( (9999).toLocaleString("en-US") );

标签: javascriptlocale

解决方案


根据最新的 CLDR 数据,这是西班牙语言环境的预期行为。具体来说,根据 CLDR 调查工具,“最小分组数字”设置为2 。

这意味着分组分隔符仅在其前面有 2 个或更多数字时使用

显然 Firefox 和 Edge 要么使用该数据的旧版本,要么尚不支持该字段。

该功能是在 2014 年发布的 CLDR 26中引入的,但是像这样的增强功能需要很长时间才能通过软件堆栈。


推荐阅读