有没有办法在JavaScript中模拟不同的区域设置? 最好不要改变代码(比如工具,也许是调试工具的一部分让我改变它)。 我特别想到字符串和浮点数之间的转换。
如果我想测试某种语言,使用它安装浏览器是否足够?或者它还取决于操作系统,还是浏览器不一致。
答案 0 :(得分:0)
主流浏览器的当前版本在其JavaScript实现中集成了ECMAScript Internationalization API。
此API允许您将日期,时间和数字转换为字符串,并提供一些语言敏感字符串比较功能。它可以通过Intl
object获得。
E.g。它允许使用以下代码将浮点数10.2
格式化为10,20 €
:
new Intl.NumberFormat('de-DE', { style: 'currency', currency: 'EUR' }).format(10.2)
虽然此API的第一个版本仅限于输出格式。它没有提供语言特定输入规范化的功能。
对于特定于区域设置的数字输入,您可以使用<input>
标记,如下所示:
<input type="number" step="0.01" lang="de">
lang
属性的值定义语言以及输入中的值如何显示和解释。虽然请注意,并非所有主流浏览器都支持此功能。主要是版本11的Internet Explorer无法按预期处理输入。