javascript - 如何测试 JavaScript 的 Intl.NumberFormat()
问题描述
目标是为国际访问者提供良好的用户体验(该网站位于美国)。该站点使用 JavaScript 创建包含大量数字内容的报告,我希望用户查看使用当地约定格式化的数据。因此,我正在使用Intl.NumberFormat()
.
我曾假设我可以通过更改我的 Windows 10 的区域和语言设置来测试来自不同位置的用户如何体验该站点,因为MDN 文档为 Intl.NumberFormat():
在不指定语言环境的基本使用中,返回默认语言环境和默认选项的格式化字符串。
但是,当我将设置更改为德国和德语时,resolvedOptions()
仍然返回一个locale
值“en-US”,并且测试编号仍然使用美国约定进行格式化。
Q1:为什么是“en-US”而不是“de-DE”?我有什么误解?
Q2:如何像国际用户一样进行测试?
这就是我格式化数字并获取对象值的方式locale
:
let n = '12345678.99';
let f = new Intl.NumberFormat();
let options = f.resolvedOptions();
console.log('locale = ', options.locale, '\t', 'n = ', f.format(n));
已编辑。删除了第三季度。
解决方案
推荐阅读
- c# - 检查路径有效,失败时抛出异常或返回false的函数?
- laravel - 如何显示外键中的多个值/字段?
- r - 从 stats.nba.com 抓取表格 - 多种方法不起作用
- go - 在 Go 中使用 Gin Gonic 框架时出现无效的接收器错误
- javascript - Excel Office 脚本:遍历二维数组并使用 setValues 写入数据
- c++ - 在单独的线程上运行第二个二进制文件而不覆盖第一个二进制文件
- node.js - 我错过了什么,我的节点应用程序在更改时没有更新 .env 值?
- kendo-grid - 更改我的 KendoGrid 过滤器中的数据值
- vim - Vim won't load plugin?
- javascript - 如何在不循环数组字符的情况下找到字符串中字符数组的索引