我试图将一个数字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'));
答案 0 :(得分:4)
这仅表示Chrome(或Safari)不支持en-IN
区域设置代码。使用相同格式的不同区域设置可能会有更好的运气。一个例子是印地语语言环境代码(hi
),它似乎在Chrome,Firefox和Internet Explorer 11中返回此格式:
console.log((123456.789).toLocaleString('hi'));
-> 1,23,456.789
对于它的价值,MDN的支持表仅列出基本支持。它确定了哪些浏览器实现了这些功能,但它并没有像测试每个可能的用例那样进行。