javascript - 将数字转换为印度语言环境格式

标签 javascript ecmascript-5

我试图将一个数字 123456.789 转换为印度区域设置格式 wiz 1,23,456.789,因为印度使用千/万/千万分隔符。

我用大约 10-20 行代码成功地做到了这一点,然后我来到了 MDN 的这篇文章。

https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Number/toLocaleString#Using_locales

你看到第 11 行,他们在那里声明了一种转换它的机制

// India uses thousands/lakh/crore separators
console.log(number.toLocaleString('en-IN'));
// → 1,23,456.789

但它不起作用(在 Chrome v49.0.2623 和 Safari 中测试)

Output in safari:
123456.789

Output in chrome:
123,456.789

但它在 firefox 中有效

Output in Firefox:
1,23,456.789

但是当我阅读浏览器兼容性表时,它表示它在 chrome v24+ 中受支持

https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Number/toLocaleString#Browser_compatibility

这是错误还是我做错了什么?

var number = 123456.789
console.log(number.toLocaleString('en-IN'));

最佳答案

这只是意味着 en-IN 区域设置代码不受 Chrome(或 Safari)支持。使用使用相同格式的不同语言环境可能会有更好的运气。一个例子是印地语语言环境代码 (hi),它似乎在 Chrome、Firefox 和 Internet Explorer 11 中返回这种格式:

console.log((123456.789).toLocaleString('hi'));
-> 1,23,456.789

就其值(value)而言,MDN 的支持表仅列出了基本支持。它确定哪些浏览器实现了该功能,但并没有测试所有可能的用例。

关于javascript - 将数字转换为印度语言环境格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36400452/

相关文章:

javascript - 如何为浏览器将 ES6 代码编译为 ES5?

javascript - 范围问题 - 退出循环

javascript - 了解带有回调的 JavaScript 代码

php - php 中的 json 解码问题

javascript - 我可以在同一页面中使用两个不同版本的backbone.js吗?

Javascript Object.defineProperty 设置属性更改时触发的方法

javascript - 如何映射对象数组,对象中有数组

javascript - 使用 Chart JS 创建图表栏

javascript - 使用 Javascript 创建对象

javascript - Babel 7 没有正确转换内置子类