• 网络学院
  • IT资讯
  • 操作系统
  • 网络技术
  • 软件应用
  • 办公软件
  • 编程技术
  • 网站架设
  • 数据库类
  • 平面设计
  • 多媒体类
  • 游戏资讯
  • 教学论文
  • 认证考试
一个格式化数值的函数
  站点:
  • 首 页
  • 最新软件
  • 文章教程
  • 国内软件
  • 国外软件
  • 绿色软件
  • 源码下载
  • 字体下载
一个格式化数值的函数
软件发布 一个格式化数值的函数
网络软件 系统工具 应用软件 联络聊天 图形图像 多媒体类 行业软件 游戏娱乐 编程开发 安全相关 教育教学 数码软件 绿软下载
热门软件: QQ 瑞星 pplive e话通 木马克星 千千静听 office2000 五笔字根 Photoshop 视频分割
返回文章教程首页 >> 文章首页 >> 网站架设 >> HTML/CSS >> 一个格式化数值的函数

一个格式化数值的函数

添加时间: 2005-6-9 5:06:14  作者: 网络收集  阅读次数:53   来源: http://d9soft.com

       

简单模拟了一点XSL里的formatNumber()方法

一些说明:
“,” (半角的豆号) 如果有的话,看豆号到小数点(如果有的话)前有几位,则按几位划分整数部分
“0”(数字零) 如果该位上没有数字,就补0
“#”(井号) 如果该位上有数字就输出数字,没有则不输出

格式化数值的函数

-----------------------------------------------------------------------

<script>
 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.419,'#,###.0#'));

</script>

---------------------------------------------------------------------------

 

 

上下文章:

 

上一篇文章: 显示行号的文本输入框 下一篇文章: 正则的几个基本概念

相关文章:

  • 教你动用Ps历史画笔美化一个青春美丽动人的MM照片
  • OracleSQL内置函数大全之三
  • Oracle常用的OCI函数上
  • OracleSQL内置函数大全之二
  • Oracle常用的OCI函数下

相关软件:

  • 函数图像作图器 1.0
  • DLL导出函数查看器 V1.3
  • 线性方程组的数值解法 V1.1
  • 数值分析软件 V1.1
  • VB函数添加大师 V2.23
  • 一个新闻小偷

 

快速导航

  • 网络学院
  • 精品汇聚
  • 字体下载
  • 教程下载
  • ASP源码
  • PHP源码
  • Net源码
  • JSP 源码

网站架设分类导航

  • DreamWeaver
  • HTML/CSS
  • Flash
  • Firework
  • FrontPage
  • 建站指南

本类经典文章推荐

  • 总结:CSS在IE与Firefox下的兼容性
  • 经典:CSS应用常见问题大总结
  • 网站设计的标准时代
  • 用层模拟下拉列表框
  • 苏沈小雨样式表中文手册系列
  • 用CSS控制网页总体风格
  • WEB界面设计五种特征
  • 深入透析样式表滤镜(上)
  • HTML的基本元素
  • 网页中多层效果的灵活使用

HTML/CSS阅读排行

  • 用层模拟下拉列表框
  • 突破网页文字无法复制局限
  • 流程图软件Visio作“高难度”网页
  • 苏沈小雨样式表中文手册系列
  • WEB界面设计五种特征
  • 用CSS控制网页总体风格
  • 图片模糊转清晰
  • 制作精美圆角表格两种方法
  • 网页制作小工具大全(下)
  • 网页制作小工具大全(中)

网站架设阅读总排行

  • 用层模拟下拉列表框
  • 教你如何用Dreamweaver制作电子相...
  • 用Dreamweaver插件制作动态下拉菜...
  • 突破网页文字无法复制局限
  • 如何设计首页???(解答)
  • Dreamweaver基础技巧-布局阶段
  • 动态QQ表情DIY Fireworks轻松搞定
  • 流程图软件Visio作“高难度”网页
  • 网页制作隐藏对象巧利用
  • 站点-网页布局设计基础

广告位置

字母检索 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 回到顶部

关于我们 | 版权声明 | 免责条款 | 广告联系 | 软件发布 | 下载帮助 | 下载排行 | 网站地图 | 特别鸣谢 | 友情连接

copyright; 2005-2008 D9soft.com 第九软件网 版权所有