javascript - toLocaleString 不适用于所有浏览器中小于 10000 的数字
问题描述
我正在开发一个应用程序,它根据用户的配置显示数字。一切都按预期工作,除非我在 Chrome 中尝试使用小于 10000 的数字,使用以下语言环境:“es-AR”。有任何想法吗?
铬合金:
火狐:
console.log( (10000).toLocaleString("es-AR") );
console.log( (9999).toLocaleString("es-AR") );
console.log( (9999).toLocaleString("en-US") );
解决方案
根据最新的 CLDR 数据,这是西班牙语言环境的预期行为。具体来说,根据 CLDR 调查工具,“最小分组数字”设置为2 。
显然 Firefox 和 Edge 要么使用该数据的旧版本,要么尚不支持该字段。
该功能是在 2014 年发布的 CLDR 26中引入的,但是像这样的增强功能需要很长时间才能通过软件堆栈。
推荐阅读
- python - sshtunnel:我可以使用 CLI、DBeaver 或 Paramiko 访问 ssh 网关,但不能使用 sshtunnel
- sql - 对于与 sql 或 mongoDB 兼容的数据,如何使用自定义注释(例如 @Encrypted)编写加密和解密?
- java - 瞬态布尔变量问题
- node.js - 用户无法在我的应用程序 Nodejs+Mysql+HBS 中保持登录状态
- r - 如何在 R 中获得函数“fitdistcens”以准确地将分布拟合到审查和未审查数据的混合?
- asp.net-mvc - 来自 ASP.NET MVC 应用程序的 TLS 连接断开
- java - beta-7 上的 Dl4J 编译错误
- cplex - 如何在具有可变列长度的 Cplex 中进行 SheetRead?
- svelte - Svelte:使用来自父组件的函数
- knockout.js - 在 knockout.js 中对选项数据使用函数