<script>
/**
* 格式化数字
* @param number
* @param pattern
* @return
*/
function formatNumber(number,pattern){
var str = number.toString();
var strInt;
var strFloat;
var formatInt;
var formatFloat;
if(/\./g.test(pattern)){
formatInt = pattern.split('.')[0];
formatFloat = pattern.split('.')[1];
}else{
formatInt = pattern;
formatFloat = null;
}
if(/\./g.test(str)){
if(formatFloat!=null){
var tempFloat = Math.round(parseFloat('0.'+str.split('.')[1])*Math.pow(10,formatFloat.length))/Math.pow(10,formatFloat.length);
strInt = (Math.floor(number)+Math.floor(tempFloat)).toString();
strFloat = /\./g.test(tempFloat.toString())?tempFloat.toString().split('.')[1]:'0';
}else{
strInt = Math.round(number).toString();
strFloat = '0';
}
}else{
strInt = str;
strFloat = '0';
}
if(formatInt!=null){
var outputInt = '';
var zero = formatInt.match(/0*$/)[0].length;
var comma = null;
if(/,/g.test(formatInt)){
comma = formatInt.match(/,[^,]*/)[0].length-1;
}
var newReg = new RegExp('(\\d{'+comma+'})','g');
if(strInt.length<zero){
outputInt = new Array(zero+1).join('0')+strInt;
outputInt = outputInt.substr(outputInt.length-zero,zero)
}else{
outputInt = strInt;
}
var
outputInt = outputInt.substr(0,outputInt.length%comma)+outputInt.substring(outputInt.length%comma).replace(newReg,(comma!=null?',':'')+'$1')
outputInt = outputInt.replace(/^,/,'');
strInt = outputInt;
}
if(formatFloat!=null){
var outputFloat = '';
var zero = formatFloat.match(/^0*/)[0].length;
if(strFloat.length<zero){
outputFloat = strFloat+new Array(zero+1).join('0');
//outputFloat = outputFloat.substring(0,formatFloat.length);
var outputFloat1 = outputFloat.substring(0,zero);
var outputFloat2 = outputFloat.substring(zero,formatFloat.length);
outputFloat = outputFloat1+outputFloat2.replace(/0*$/,'');
}else{
outputFloat = strFloat.substring(0,formatFloat.length);
}
strFloat = outputFloat;
}else{
if(pattern!='' || (pattern=='' && strFloat=='0')){
strFloat = '';
}
}
return strInt+(strFloat==''?'':'.'+strFloat);
}
alert(formatNumber(2000,'######,###'));
</script>
分享到:
相关推荐
提供了javascript格式化数字的方法,非常简单易用
该文档为javascript的数字格式化方法,可用于保留小数位,强制添0等操作
Javascript中经常要用到的5种格式化数字的代码,方便大家使用
JS格式化数字金额只留两位小数。写了个格式化函数。可以控制小数位数,自动四舍五入,感兴趣的朋友可以了解下
finereport格式化金额函数js中进行数字超大金额千位符格式化处理.docx
格式化数字 数字格式化 小数点 科学数字 js格式化数字
问题:在JS中格式化数据保留两位小数的函数的多种方法 最好方法: 保留两位好像是这样吧 代码如下: var a = 9.39393; alert(a.toFixed(2)); 说明: alert(Number.toFixed(9.39393)); 返回的是9.39...
格式化数字,最最常见的是格式化金额,一般格式化金额需要千分位分隔,保留2位小数等等。 简单的功能函数 类似的代码网上有很多: /** * 将数值四舍五入(保留2位小数)后格式化成金额形式 * * @param num 数值...
currencyFormatter.js是一款简单实用的纯js格式化货币插件。该插件包含155种不同国家的货币,以及715种不同语言的本地化设置。它还能处理某些不采用的货币,功能非常强大。
JavaScript数字格式化函数,很好用的
Numeral.js一个用于格式化和操作数字的JavaScript库
代码如下:/** * 格式化数字 * Author : Z,Mingyu * 参数: * prmNum (Number) : 要格式化的数字 * prmPtn (String) : 格式化规则,例如:#,##0.00 * * prmNullValue : 当要格式化的数字为null、空或非数字时,返回的...
NULL 博文链接:https://anole1982.iteye.com/blog/1855800
wnumb.js是一个前端格式化数字金额的插件,比如常见的数字千分位问题。用法如下: // 定义格式化的规则 var moneyFormat = wNumb({ mark: '.', thousand: ',', prefix: '$ ', suffix: ' p.p.' }); // 格式化一...
本文实例讲述了js实现的格式化数字和金额功能。分享给大家供大家参考,具体如下: 格式化数字,格式化金额: function number_format(number, decimals, dec_point, thousands_sep) { /* * 参数说明: * number...
fmt:——对数字对行格式化 在js中———- Javascript也提供了对数字进行格式化输出的支持 Number对象提供的几种格式化函数: toExponential([fractionDigits]) :将数字按科学计数法格式返回,其中的fractionDigits...
accounting.js是什么,金钱和货币格式一个微小的JavaScript库,使用可选的Excel风格的列渲染(排队符号和小数)。它的重量轻,完全可本地化和具有零依赖性。 演示地址:http://www.jq22.com/jquery-info326