【问题标题】:formatting integer into string numbers in jQuery [duplicate]在jQuery中将整数格式化为字符串数字[重复]
【发布时间】:2013-06-25 18:40:13
【问题描述】:

我在以下变量中有一个数字,例如 50000:

var i = 50000

我想将其格式化为字符串,以便打印出 50.000,00 。除了使用插件(例如数字插件)之外,jQuery 中最简单的方法是什么。

【问题讨论】:

  • 如果你不想使用任何插件 - 为什么提到 jquery?
  • @zerkms 我的意思是使用内置的 jQuery 函数,没有别的
  • @adit:您检查过api.jquery.com 的可用功能吗?
  • 那么 Derek 已经使用正则表达式回答了这个问题。从他的回答略有变化:console.log(value.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ".")+",00");

标签: javascript


【解决方案1】:
var value = 50000.69,
    formatted = value.toFixed(2).replace(/\B(?=(\d{3})+(?!\d))/g, ",");

console.log(formatted);

原生 JavaScript,你甚至不需要 jQuery 或任何插件。非常灵活,您可以随意修改正则表达式。


正如HMR 提到的,为您指定的格式使用以下代码:

formatted = value.replace(".",",").replace(/\B(?=(\d{3})+(?!\d))/g, ".");

添加.toFixed(2) 如果您希望小数点后最多保留 2 位数字,但我相信您会明白的。 ;)

【讨论】:

  • 你有点破旧了;点是千位分隔符,逗号是十进制分隔符:formatted = value.toFixed(2).replace(".",",").replace(/\B(?=(\d{3})+(?!\d))/g, ".");
  • @HMR - 不习惯使用 . 作为千位分隔符 :P 感谢使用 toFixed 的建议。
【解决方案2】:

您可以尝试 PHP.js 项目的 JS 版本的 PHP 函数 number_format
http://phpjs.org/functions/number_format/

number_format(50000, 2, ',', '.');

如果你需要的话,它非常灵活。

另一种方法是使用或基于underscore.string 方法,它实际上看起来像 PHP.js 的方法。

【讨论】:

    猜你喜欢
    • 2016-12-23
    • 1970-01-01
    • 2010-10-16
    • 2012-08-25
    • 2011-09-27
    • 1970-01-01
    • 2021-05-05
    • 1970-01-01
    • 2023-04-06
    相关资源
    最近更新 更多