`
frank1998819
  • 浏览: 752115 次
  • 性别: Icon_minigender_1
  • 来自: 南京
文章分类
社区版块
存档分类

javascript 格式化数字 (转)

    博客分类:
  • JS
 
阅读更多

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(
0,''));
alert(formatNumber(
12432.21,'#,###'));
alert(formatNumber(
12432.21,'#,###.000#'));
alert(formatNumber(
12432,'#,###.00'));
alert(formatNumber('
12432.415','#,###.0#'));


</script>

分享到:
评论

相关推荐

    JavaScript数字格式化

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

    javascript格式化数字

    `formatNumber`函数提供了一种灵活且强大的方式来格式化数字,无论是处理大额数值还是精细化的小数点操作,都能轻松应对。通过对格式模板的定制,可以满足不同场景下的展示需求,极大地提升了用户体验与数据呈现的...

    javascript 日期数字文本格式化

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

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

    此函数用于格式化数字,使其保持指定的小数位数,并且在必要时进行四舍五入处理。 #### 参数说明 - `pnumber`: 需要被格式化的数字。 - `decimals`: 小数点后保留的位数,默认为0。 #### 示例代码 ```javascript ...

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

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

    JavaScript数字格式化函数

    在ES6中,`Intl.NumberFormat`是一个全局对象,它可以用来根据地区设置格式化数字。例如,格式化为美元: ```javascript let number = 123456.789; let formatter = new Intl.NumberFormat('en-US', {style: '...

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

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

    javascript日期格式化

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

    JavaScript实现把数字转换成中文

    JavaScript 实现数字转换成中文是一种常见的编程需求,特别是在处理金融、会计等领域,中文数字的表示方式更加直观且符合中文阅读习惯。以下是一个简单的 JavaScript 函数,用于将阿拉伯数字转换为中文数字。 首先...

    javascript精确计算日期处理金额格式化

    Numeral.js提供了一种方便的方式来格式化数字,包括货币,百分比,数字等。例如,`numeral(1234567.89).format('0,0.00')`将输出"1,234,567.89"。accounting.js则提供了类似的功能,如`accounting.formatMoney...

    JavaScript 格式化浮点类型函数

    例如,`new Intl.NumberFormat('en-US', { style: 'currency', currency: 'USD' }).format(num)`将格式化数字为美元格式。 基于以上原理,我们可以编写一个自定义的浮点数格式化函数,接受两个参数:一个是需要格式...

    JavaScript格式化日期

    在JavaScript中,日期格式化是一项常见的任务,尤其是在处理用户界面展示或者数据存储时。`Date`对象是JavaScript内置的对象,提供了处理日期和时间的各种方法。在这个场景中,我们需要将一个像"XXXX年XX月XX日"这样...

    normat通用javascript编号字符串格式化

    在JavaScript开发过程中,有时我们需要对数字或字符串进行特定格式化,比如金额、电话号码或身份证号等。"normat"库就是为此目的设计的一个通用工具,它提供了方便的方法来处理和格式化各种类型的编号和字符串。这个...

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

    JavaScript中的数字格式化是编程中常见的一种需求,它主要用于将数字按照特定的样式输出,例如添加千位分隔符、保留小数位数等。在提供的代码中,`format`函数实现了这一功能,它接受两个参数:`number`是要格式化的...

    Numeral.js一个用于格式化和操作数字的JavaScript库

    2. **易于使用的API**:Numeral.js提供了简洁的API,允许开发者通过`numeral(number).format(format)`来快速格式化数字。例如,`numeral(123456.789).format('0,0.00')`将返回`"123,456.79"`。 3. **数字转换**:...

    jquery数字格式化分隔符插件

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

    基于JavaScript的数字时钟

    JavaScript代码会找到这个元素,并将格式化后的时间文本插入到其中。例如: ```javascript document.getElementById('clock').innerText = formatTime(hours, minutes, seconds); ``` `formatTime`函数会把小时、...

    数字或金额千分位格式化组件

    "数字或金额千分位格式化组件"就是为了解决这个问题而设计的一种工具。这个组件的主要功能是实现数字和金额的自动格式化,将输入的数值转换成带有千分位分隔符的格式,并控制小数点后的位数。这样不仅提升了用户体验...

    javascript将中国数字格式转换成欧式数字格式的简单实例.docx

    ### JavaScript将中国数字格式转换为欧式数字格式的知识点解析 #### 一、背景与需求分析 在进行国际化应用开发时,经常会遇到不同地区对于数字显示习惯的差异问题。例如,在中国,大数值通常以万(10,000)为单位...

Global site tag (gtag.js) - Google Analytics