我试图将一个数字 123456.789
转换为印度区域设置格式 wiz 1,23,456.789
,因为印度使用千/万/千万分隔符。
我用大约 10-20 行代码成功地做到了这一点,然后我来到了 MDN 的这篇文章。
你看到第 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+ 中受支持
这是错误还是我做错了什么?
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/