【问题标题】:Convert a JavaScript number to a currency format, but without "$" or any currency symbol [duplicate]将 JavaScript 数字转换为货币格式,但没有“$”或任何货币符号 [重复]
【发布时间】:2013-07-07 23:19:21
【问题描述】:

我想将我的 JavaScript 数字转换为货币数字,但可以使用任何货币符号

假设这是我的号码:

var number = 43434;

结果应该是这样的:

43,434

不是这个:

$43,434

【问题讨论】:

  • 请向我们展示您尝试了什么,它是如何不工作的,等等。这个网站不是让人们为您工作的地方;如果您希望将时间和精力投入到答案中,那么您必须将时间和精力投入到您的问题中。
  • 支持 @Daedalus 并同意 Alex 链接,它很棒。
  • 类似的问题还有很多。您可以在此处找到操作方法:stackoverflow.com/questions/2901102/…stackoverflow.com/questions/13621769/…
  • 一种方法是使用D3库,见this post

标签: javascript jquery


【解决方案1】:

使用一个正则表达式/(\d)(?=(\d{3})+(?!\d))/g:

"1234255364".replace(/(\d)(?=(\d{3})+(?!\d))/g, "$1,");
"1,234,255,364"

要使用整数实现此目的,您可以使用+"" 技巧:

var number = 43434;
(number + "").replace(/(\d)(?=(\d{3})+(?!\d))/g, "$1,"); // 43,434

【讨论】:

  • 如果有人在尝试在数字上使用它时遇到“.replace is not defined”错误,则在使用替换之前应用 toString(),例如$number.toString().replace(/(\d)(?=(\d{3})+(?!\d))/g, "$1,")
猜你喜欢
  • 2012-01-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-12-30
  • 2014-08-28
  • 2018-03-29
  • 1970-01-01
  • 2013-12-22
相关资源
最近更新 更多