如何获取 toLocaleString() 方法的小数和千位分隔符?
Posted
技术标签:
【中文标题】如何获取 toLocaleString() 方法的小数和千位分隔符?【英文标题】:How to get Decimal and Thousand separator of toLocaleString() method? 【发布时间】:2019-04-01 13:59:53 【问题描述】:如何获取所选语言环境的 toLocaleString() 的十进制和千位分隔符?
例子:
var number = 123456.789;
// 德语使用逗号作为小数分隔符和句点表示千位
console.log(number.toLocaleString('de-DE'));
123.456,789
// 英文用句点作为小数分隔符,千位用逗号
console.log(number.toLocaleString('en-GB'));
123,456.789
有没有办法获取区域分隔符?
【问题讨论】:
@Amy 这个问题是关于如何获取当前语言环境中使用的字符,而这个问题没有解决这个问题。 【参考方案1】:这样的东西应该可以工作(未经测试):
let thousandsSeparator = Number(1000).toLocaleString().charAt(1)
let decimalSeparator = Number(1.1).toLocaleString().charAt(1)
【讨论】:
在西班牙语言环境中,千位分隔符直到数字10000
才会出现。所以这将是一个更好的 hack let thousandsSeparator = Number(10000).toLocaleString().charAt(2)
.【参考方案2】:
这可能会有所帮助。似乎有一个可以使用的国际 API。否则,您可以测试一个已知数字来检索它。
https://stackanswers.net/questions/how-do-i-find-the-decimal-separator-for-current-locale-in-javascript
【讨论】:
以上是关于如何获取 toLocaleString() 方法的小数和千位分隔符?的主要内容,如果未能解决你的问题,请参考以下文章
JavaScript手册 | JS Array 对象中的toLocaleString() 方法
java Date中方法toLocaleString过时的替代方案