`
gwbasic
  • 浏览: 56245 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

JavaScript格式化数字显示格式

    博客分类:
  • ajax
阅读更多
代码如有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/>");
分享到:
评论

相关推荐

    javascript格式化数字

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

    javascript 日期数字文本格式化

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

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

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

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

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

    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)`将格式化数字为美元格式。 基于以上原理,我们可以编写一个自定义的浮点数格式化函数,接受两个参数:一个是需要格式...

    json数据在Html页面格式化显示

    总结来说,"json数据在Html页面格式化显示"是一个常见的开发需求,它涉及到JSON解析、HTML生成、JavaScript事件处理和CSS样式设计等多个技术领域。通过这些技术的结合,可以创建出一个用户友好的界面,便于查看和...

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

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

    基于JavaScript的数字时钟

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

    JavaScript格式化日期

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

    jquery数字格式化分隔符插件

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

    离线json格式化查看工具下载

    3. **高亮显示**:为了增强可读性,许多离线JSON格式化工具还提供了语法高亮功能,不同类型的元素(如键、字符串、数值等)会使用不同的颜色进行区分。 4. **折叠/展开**:对于嵌套层次较深的JSON对象,工具通常...

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

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

    ajax请求时json时间格式的格式化显示

    // 在页面上显示格式化后的时间 $('#displayTime').text(formattedTime); } }); ``` 3. `ajaxDataFormat.js`可能包含了`formatTime`函数,该函数可能使用JavaScript内置的`Date`对象来解析和格式化时间戳: ```...

    json,xml格式化html显示

    它通常会提供一个简单的API接口,接收JSON字符串作为输入,然后返回格式化后的HTML字符串,可以直接插入到网页中显示。 总的来说,JSON和XML都是数据交换的重要格式,它们各有优缺点,选择哪种格式取决于具体的应用...

    JSON格式化工具-JSON格式化美化工具

    HTML文件作为用户界面,呈现JSON数据,而JavaScript文件则是工具的核心,负责处理用户的输入(JSON字符串),进行格式化操作,并将结果显示在HTML页面上。这样的设计使得工具具有跨平台性,无论用户使用何种操作系统...

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

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

    Mac版json格式化工具

    1. **实时预览**:在编辑过程中即时显示格式化效果,便于调整数据格式。 2. **拖放操作**:可以通过拖放JSON文件到应用图标上,直接打开并格式化。 3. **自定义设置**:允许用户自定义缩进样式(空格或制表符)、...

    好用的本地json格式化小工具,无需联网

    3. **高亮显示**:为了增强可读性,格式化工具通常会对关键字(如`true`、`false`、`null`)以及不同的数据类型(如字符串、数字、对象、数组等)进行颜色区分,使用户一眼就能看出数据结构。 4. **错误检查**:...

Global site tag (gtag.js) - Google Analytics