代码如有BUG,请通知一下,谢谢
sales#soulan.com
/**
* 格式化数字显示方式
* 用法
* formatNumber(12345.999,'#,##0.00');
* formatNumber(12345.999,'#,##0.##');
* formatNumber(123,'000000');
* @param num
* @param pattern
*/
function formatNumber(num,pattern){
var strarr = num?num.toString().split('.'):['0'];
var fmtarr = pattern?pattern.split('.'):[''];
var retstr='';
// 整数部分
var str = strarr[0];
var fmt = fmtarr[0];
var i = str.length-1;
var comma = false;
for(var f=fmt.length-1;f>=0;f--){
switch(fmt.substr(f,1)){
case '#':
if(i>=0 ) retstr = str.substr(i--,1) + retstr;
break;
case '0':
if(i>=0) retstr = str.substr(i--,1) + retstr;
else retstr = '0' + retstr;
break;
case ',':
comma = true;
retstr=','+retstr;
break;
}
}
if(i>=0){
if(comma){
var l = str.length;
for(;i>=0;i--){
retstr = str.substr(i,1) + retstr;
if(i>0 && ((l-i)%3)==0) retstr = ',' + retstr;
}
}
else retstr = str.substr(0,i+1) + retstr;
}
retstr = retstr+'.';
// 处理小数部分
str=strarr.length>1?strarr[1]:'';
fmt=fmtarr.length>1?fmtarr[1]:'';
i=0;
for(var f=0;f<fmt.length;f++){
switch(fmt.substr(f,1)){
case '#':
if(i<str.length) retstr+=str.substr(i++,1);
break;
case '0':
if(i<str.length) retstr+= str.substr(i++,1);
else retstr+='0';
break;
}
}
return retstr.replace(/^,+/,'').replace(/\.$/,'');
}
document.write("formatNumber('','')=" + formatNumber('',''));
document.write("<br/>");
document.write("formatNumber(123456789012.129,null)=" + formatNumber(123456789012.129,null));
document.write("<br/>");
document.write("formatNumber(null,null)=" + formatNumber(null,null));
document.write("<br/>");
document.write("formatNumber(123456789012.129,'#,##0.00')=" + formatNumber(123456789012.129,'#,##0.00'));
document.write("<br/>");
document.write("formatNumber(123456789012.129,'#,##0.##')=" + formatNumber(123456789012.129,'#,##0.##'));
document.write("<br/>");
document.write("formatNumber(123456789012.129,'#0.00')=" + formatNumber(123456789012.129,'#,##0.00'));
document.write("<br/>");
document.write("formatNumber(123456789012.129,'#0.##')=" + formatNumber(123456789012.129,'#,##0.##'));
document.write("<br/>");
document.write("formatNumber(12.129,'0.00')=" + formatNumber(12.129,'0.00'));
document.write("<br/>");
document.write("formatNumber(12.129,'0.##')=" + formatNumber(12.129,'0.##'));
document.write("<br/>");
document.write("formatNumber(12,'00000')=" + formatNumber(12,'00000'));
document.write("<br/>");
document.write("formatNumber(12,'#.##')=" + formatNumber(12,'#.##'));
document.write("<br/>");
document.write("formatNumber(12,'#.00')=" + formatNumber(12,'#.00'));
document.write("<br/>");
document.write("formatNumber(0,'#.##')=" + formatNumber(0,'#.##'));
document.write("<br/>");
分享到:
- 2008-02-02 23:43
- 浏览 5970
- 评论(0)
- 论坛回复 / 浏览 (0 / 7453)
- 查看更多
相关推荐
`formatNumber`函数提供了一种灵活且强大的方式来格式化数字,无论是处理大额数值还是精细化的小数点操作,都能轻松应对。通过对格式模板的定制,可以满足不同场景下的展示需求,极大地提升了用户体验与数据呈现的...
在JavaScript中,日期和数字的文本格式化是一个常见的需求,特别是在构建用户界面或者处理数据时。这个主题主要涉及如何将日期对象转换为易读的字符串,以及如何对数字进行格式化,使其符合特定的显示标准。这篇博文...
"finereport格式化金额函数js中进行数字超大金额千位符格式化处理" 本文主要讲解了finereport格式化金额函数在JS中进行数字超大金额千位符格式化处理的方法。该需求在前端开发中非常普遍,例如音乐app中的歌曲播放...
在JavaScript中,对数字进行货币格式化的处理是非常常见的需求,尤其是在财务或电子商务相关的应用程序中。以下是对给定代码片段的深入解析和知识点总结。 #### 标准货币格式化函数 `formatCurrency` 此函数实现了...
Numeral.js提供了一种方便的方式来格式化数字,包括货币,百分比,数字等。例如,`numeral(1234567.89).format('0,0.00')`将输出"1,234,567.89"。accounting.js则提供了类似的功能,如`accounting.formatMoney...
例如,`new Intl.NumberFormat('en-US', { style: 'currency', currency: 'USD' }).format(num)`将格式化数字为美元格式。 基于以上原理,我们可以编写一个自定义的浮点数格式化函数,接受两个参数:一个是需要格式...
总结来说,"json数据在Html页面格式化显示"是一个常见的开发需求,它涉及到JSON解析、HTML生成、JavaScript事件处理和CSS样式设计等多个技术领域。通过这些技术的结合,可以创建出一个用户友好的界面,便于查看和...
"数字或金额千分位格式化组件"就是为了解决这个问题而设计的一种工具。这个组件的主要功能是实现数字和金额的自动格式化,将输入的数值转换成带有千分位分隔符的格式,并控制小数点后的位数。这样不仅提升了用户体验...
JavaScript代码会找到这个元素,并将格式化后的时间文本插入到其中。例如: ```javascript document.getElementById('clock').innerText = formatTime(hours, minutes, seconds); ``` `formatTime`函数会把小时、...
在JavaScript中,日期格式化是一项常见的任务,尤其是在处理用户界面展示或者数据存储时。`Date`对象是JavaScript内置的对象,提供了处理日期和时间的各种方法。在这个场景中,我们需要将一个像"XXXX年XX月XX日"这样...
**jQuery数字格式化分隔符插件:jquery-number-divider** 在网页开发中,尤其是在处理大量数据或财务信息时,数字的格式化显得尤为重要。`jquery-number-divider` 是一个专为jQuery设计的轻量级插件,它使得在前端...
3. **高亮显示**:为了增强可读性,许多离线JSON格式化工具还提供了语法高亮功能,不同类型的元素(如键、字符串、数值等)会使用不同的颜色进行区分。 4. **折叠/展开**:对于嵌套层次较深的JSON对象,工具通常...
JavaScript中的数字格式化是编程中常见的一种需求,它主要用于将数字按照特定的样式输出,例如添加千位分隔符、保留小数位数等。在提供的代码中,`format`函数实现了这一功能,它接受两个参数:`number`是要格式化的...
// 在页面上显示格式化后的时间 $('#displayTime').text(formattedTime); } }); ``` 3. `ajaxDataFormat.js`可能包含了`formatTime`函数,该函数可能使用JavaScript内置的`Date`对象来解析和格式化时间戳: ```...
它通常会提供一个简单的API接口,接收JSON字符串作为输入,然后返回格式化后的HTML字符串,可以直接插入到网页中显示。 总的来说,JSON和XML都是数据交换的重要格式,它们各有优缺点,选择哪种格式取决于具体的应用...
HTML文件作为用户界面,呈现JSON数据,而JavaScript文件则是工具的核心,负责处理用户的输入(JSON字符串),进行格式化操作,并将结果显示在HTML页面上。这样的设计使得工具具有跨平台性,无论用户使用何种操作系统...
2. **易于使用的API**:Numeral.js提供了简洁的API,允许开发者通过`numeral(number).format(format)`来快速格式化数字。例如,`numeral(123456.789).format('0,0.00')`将返回`"123,456.79"`。 3. **数字转换**:...
1. **实时预览**:在编辑过程中即时显示格式化效果,便于调整数据格式。 2. **拖放操作**:可以通过拖放JSON文件到应用图标上,直接打开并格式化。 3. **自定义设置**:允许用户自定义缩进样式(空格或制表符)、...
3. **高亮显示**:为了增强可读性,格式化工具通常会对关键字(如`true`、`false`、`null`)以及不同的数据类型(如字符串、数字、对象、数组等)进行颜色区分,使用户一眼就能看出数据结构。 4. **错误检查**:...