`
jackeysion
  • 浏览: 129506 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

js数字格式化

阅读更多
JS数字格式化函数
关键字: number format
前几天在blog里贴了个JS货币格式化的函数,今天在Matt Snider的网站上淘到了另一个不错的东西,不过和之前说的那个函数有点差别,这个函数是用来格式化数字类型的,很好,很实用。

ps:Matt Snider的网站正如其title一样——Matt Snider JavaScript Resource,内容相当多,个个都比较实用,我喜欢。

/**
* Formats the number according to the ‘format’ string; adherses to the american number standard where a comma is inserted after every 3 digits.
*  note: there should be only 1 contiguous number in the format, where a number consists of digits, period, and commas
*        any other characters can be wrapped around this number, including ‘$’, ‘%’, or text
*        examples (123456.789):
*          ‘0′ - (123456) show only digits, no precision
*          ‘0.00′ - (123456.78) show only digits, 2 precision
*          ‘0.0000′ - (123456.7890) show only digits, 4 precision
*          ‘0,000′ - (123,456) show comma and digits, no precision
*          ‘0,000.00′ - (123,456.78) show comma and digits, 2 precision
*          ‘0,0.00′ - (123,456.78) shortcut method, show comma and digits, 2 precision
*
* @method format
* @param format {string} the way you would like to format this text
* @return {string} the formatted number
* @public
*/
Number.prototype.format = function(format) {
	if (! isType(format, ’string’)) {return ”;} // sanity check

	var hasComma = -1 < format.indexOf(’,'),
		psplit = format.stripNonNumeric().split(’.'),
		that = this;

	// compute precision
	if (1 < psplit.length) {
		// fix number precision
		that = that.toFixed(psplit[1].length);
	}
	// error: too many periods
	else if (2 < psplit.length) {
		throw(’NumberFormatException: invalid format, formats should have no more than 1 period: ‘ + format);
	}
	// remove precision
	else {
		that = that.toFixed(0);
	}

	// get the string now that precision is correct
	var fnum = that.toString();

	// format has comma, then compute commas
	if (hasComma) {
		// remove precision for computation
		psplit = fnum.split(’.');

		var cnum = psplit[0],
			parr = [],
			j = cnum.length,
			m = Math.floor(j / 3),
			n = cnum.length % 3 || 3; // n cannot be ZERO or causes infinite loop

		// break the number into chunks of 3 digits; first chunk may be less than 3
		for (var i = 0; i < j; i += n) {
			if (i != 0) {n = 3;}
			parr[parr.length] = cnum.substr(i, n);
			m -= 1;
		}

		// put chunks back together, separated by comma
		fnum = parr.join(’,');

		// add the precision back in
		if (psplit[1]) {fnum += ‘.’ + psplit[1];}
	}

	// replace the number portion of the format with fnum
	return format.replace(/[d,?.?]+/, fnum);
};
分享到:
评论

相关推荐

    JavaScript数字格式化

    该文档为javascript的数字格式化方法,可用于保留小数位,强制添0等操作

    JavaScript数字格式化函数

    在JavaScript中,数字格式化是将数值转换为特定格式的过程,比如添加逗号分隔符、保留小数位数、货币格式等。这通常涉及到字符串处理和数学运算。本篇文章将深入探讨JavaScript中的数字格式化函数及其应用。 一、...

    JS中格式化数字的5个方法

    根据提供的文件信息,本文将详细介绍JavaScript中五种常用的数字格式化方法:`CurrencyFormatted`、`format_number`、`CommaFormatted`、`addCommas` 和 `number_format`。这些函数可以帮助开发者更加灵活地处理和...

    finereport格式化金额函数js中进行数字超大金额千位符格式化处理.docx

    "finereport格式化金额函数js中进行数字超大金额千位符格式化处理" 本文主要讲解了finereport格式化金额函数在JS中进行数字超大金额千位符格式化处理的方法。该需求在前端开发中非常普遍,例如音乐app中的歌曲播放...

    javascript 日期数字文本格式化

    在JavaScript中,日期和数字的文本格式化是一个常见的需求,特别是在构建用户界面或者处理数据时。这个主题主要涉及如何将日期对象转换为易读的字符串,以及如何对数字进行格式化,使其符合特定的显示标准。这篇博文...

    javascript格式化数字

    ### JavaScript 数字格式化方法详解 在日常的前端开发中,对数字进行格式化处理是一项常见的需求,尤其是在处理财务数据、统计报告或是任何需要友好显示数值的场景下。本文将深入解析一个JavaScript函数,该函数...

    javascript 数字格式化输出的实现代码

    JavaScript中的数字格式化是将数字转换为特定格式的过程,以便于阅读、比较或者符合特定的显示规范。在JavaScript中,我们可以自定义函数来实现数字的格式化输出。这里提供的实现代码是一个名为`format`的函数,它...

    js对数字的格式化使用说明

    fmt:——对数字对行格式化 在js中———- Javascript也提供了对数字进行格式化输出的支持 Number对象提供的几种格式化函数: toExponential([fractionDigits]) :将数字按科学计数法格式返回,其中的fractionDigits...

    jquery数字格式化分隔符插件

    **jQuery数字格式化分隔符插件:jquery-number-divider** 在网页开发中,尤其是在处理大量数据或财务信息时,数字的格式化显得尤为重要。`jquery-number-divider` 是一个专为jQuery设计的轻量级插件,它使得在前端...

    javascript数字格式化为货币字符,数字格式化为大写货币

    ### JavaScript 数字格式化为货币字符 在JavaScript中,对数字进行货币格式化的处理是非常常见的需求,尤其是在财务或电子商务相关的应用程序中。以下是对给定代码片段的深入解析和知识点总结。 #### 标准货币格式...

    javascript日期格式化

    然而,这些方法返回的是数字,如果你想要格式化成易读的字符串,就需要自己拼接。例如: ```javascript let year = date.getFullYear(); let month = "0" + (date.getMonth() + 1); let day = "0" + date.getDate()...

    Js获取当前日期时间及格式化代码

    描述中的知识点:介绍了如何使用JavaScript(Js)获取当前的日期和时间,并提供了一个格式化日期时间的代码示例。 标签中的知识点:涉及到Js在获取日期时间方面相关的几个关键功能和方法,包括获取年份、月份、日、...

    纯js实用格式化货币插件

    currencyFormatter.js是一个轻量级的JavaScript库,它专为前端开发者设计,用于将数字转换为格式化的货币值。这个插件的独特之处在于它的全面性和灵活性,不仅支持155种不同的国家货币,还包含了715种语言的本地化...

    jquery数字格式化分隔符插件.zip

    jquery-number-divider是一款jquery数字格式化分隔符插件。该数字格式化插件可以按指定格式对大数字进行分隔,可以指定分隔符,是一款简单实用的数字格式化...可以通过bower来安装number-divider.js数字格式化插件。

    jQuery数字格式化分隔符代码

    - **js**:这里可能包含源代码文件,如插件的主要逻辑文件,可能名为jquery.num-format.js,其中实现了数字格式化的核心功能。 - **css**:这个目录可能包含CSS样式表,用于美化插件的显示效果,如按钮、提示框等。 ...

    java中数字格式化输出

    将浮点型数用美元符号和货币符号输出,用格式化的方式。还包括浮点型数据相除时,格式化输出结果。

    JS 格式化时间

    然而,JavaScript没有内置的函数来直接实现复杂的日期格式化,所以通常需要自定义函数或者使用第三方库,如moment.js或date-fns。 以下是一个简单的自定义格式化时间的函数示例: ```javascript function ...

    js金额数字格式化实现代码(加减逗号处理)

    在JavaScript编程中,格式化数字特别是金额数字是一个常见的需求,主要目的是为了提高可读性,使其更符合人类的阅读习惯。本文将详细讲解如何利用JavaScript实现金额数字的格式化,包括加减逗号以及保留小数位数的...

Global site tag (gtag.js) - Google Analytics