8

我正在尝试使用 jQuery 格式化一些数字。我想获取用户对货币和数字的区域设置,以实现正确的格式(获取小数点分隔符)。

是否可以使用 jQuery 或 JavaScript 检索这些参数?

4

2 回答 2

6

Number.toLocaleString()与 一起使用style:'currency'

(73.57).toLocaleString('de-DE',{style:'currency',currency:'EUR'}); // German: 73,57 €
(73.57).toLocaleString('en-US',{style:'currency',currency:'EUR'}); // American: €73.57

注意:

  • 这不会获取区域设置,但会在区域设置中提供输出。
  • 如果您希望动态确定您的语言环境,请使用navigator.language.
  • 除了这种原生方法之外,还有许多其他方法;对于初学者,请查看accounting.js或 Stack Overflow 之的答案。

正如丹尼尔杰克逊 评论的那样:

使用Intl.NumberFormat.format(),您可以获得相同的结果,其中NumberFormat和一般Intl对象提供多种选项和方法,主要关注语言敏感性。

new Intl.NumberFormat('de-DE',{style:'currency',currency:'EUR'}).format(73.57); // DE: 73,57 €
new Intl.NumberFormat('en-US',{style:'currency',currency:'EUR'}).format(73.57); // US: €73.57
于 2015-11-06T07:27:27.177 回答
0

它有一个 jQuery 插件 - https://github.com/dansingerman/jQuery-Browser-Language

有关更多信息,请参阅此 SO answer用于检测浏览器语言偏好的 JavaScript

于 2015-11-06T07:27:17.597 回答