在JavaScript中模拟不同的语言环境以进行类型转换?

时间:2015-02-21 14:39:04

标签: javascript locale

有没有办法在JavaScript中模拟不同的区域设置? 最好不要改变代码(比如工具,也许是调试工具的一部分让我改变它)。 我特别想到字符串和浮点数之间的转换。

如果我想测试某种语言,使用它安装浏览器是否足够?或者它还取决于操作系统,还是浏览器不一致。

1 个答案:

答案 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无法按预期处理输入。