在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等[重复]