在jQuery中将整数格式化为字符串数字[重复]

Posted

技术标签:

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

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

var i = 50000

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

【问题讨论】:

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

console.log(formatted);

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


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

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

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

【讨论】:

你有点破旧了;点是千位分隔符,逗号是十进制分隔符:formatted = value.toFixed(2).replace(".",",").replace(/\B(?=(\d3)+(?!\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 的方法。

【讨论】:

以上是关于在jQuery中将整数格式化为字符串数字[重复]的主要内容,如果未能解决你的问题,请参考以下文章

在R中将数字1000格式化为1k,将1000000格式化为1m等[重复]

在 C# 中将 Excel 列(或单元格)格式化为文本?

在 Flutter 中将数字格式化为字符串

在 Excel 2013 中将条形码的数字格式化为文本以提高可读性

如何在 PHP 中将数字格式化为美元金额

如何在java中将十进制数字格式化为两个小数点? [复制]