正常访问状态! 设为首页 | 加入收藏夹 | 浏览历史  
  http://www.guosp.com
 碧海澜涛居
  海纳百川,有容乃大。壁立千刃,无欲则刚!
 
 
关键词:
  网站首页 | 关于本站 | 技术资料 | 美文日志 | 读书收藏 | 影视收藏 | 软件收藏 | 摄影相册| 留言板 
  技术资料 >> JavaScript资料库 关闭(快捷键alt+C)
搜索标签: 转换 大写
JS转换成中文大写数字
[阅读次数:1476次]  [发布时间:2010年7月29日]

/* 
//转换成中文大写数字 
*/ 
Number.prototype.toChinese = function() 

  var num = this; 
  if(!/^\d*(\.\d*)?$/.test(num)){alert("Number is wrong!"); return "Number is wrong!";} 

  var AA = new Array("零","壹","贰","叁","肆","伍","陆","柒","捌","玖"); 
  var BB = new Array("","拾","佰","仟","萬","億","点","");  
  var a = (""+ num).replace(/(^0*)/g, "").split("."), k = 0, re = ""; 

  for(var i=a[0].length-1; i>=0; i--) 
  { 
    switch(k) 
    { 
      case 0 : re = BB[7] + re; break; 
      case 4 : if(!new RegExp("0{4}\\d{"+ (a[0].length-i-1) +"}$").test(a[0])) 
            re = BB[4] + re; break; 
      case 8 : re = BB[5] + re; BB[7] = BB[5]; k = 0; break; 
    } 
    if(k%4 == 2 && a[0].charAt(i+2) != 0 && a[0].charAt(i+1) == 0) re = AA[0] + re; 
    if(a[0].charAt(i) != 0) re = AA[a[0].charAt(i)] + BB[k%4] + re; k++; 
  } 
  
  if(a.length>1) //加上小数部分(如果有小数部分) 
  { 
    re += BB[6]; 
    for(var i=0; i<a[1].length; i++) re += AA[a[1].charAt(i)]; 
  } 
  return re; 
}

/* 
//保留小数点位数 
*/ 
Number.prototype.toFixed=function(len) 

 if(isNaN(len)||len==null) 
 { 
  len = 0; 
 } 
 else 
 { 
  if(len<0) 
  { 
  len = 0; 
  } 
 } 
  return Math.round(this * Math.pow(10,len)) / Math.pow(10,len);
}

 

/* 
//转换成大写金额 
*/ 
Number.prototype.toMoney = function() 

 // Constants: 
 var MAXIMUM_NUMBER = 99999999999.99; 
 // Predefine the radix characters and currency symbols for output: 
 var CN_ZERO= "零"; 
 var CN_ONE= "壹"; 
 var CN_TWO= "贰"; 
 var CN_THREE= "叁"; 
 var CN_FOUR= "肆"; 
 var CN_FIVE= "伍"; 
 var CN_SIX= "陆"; 
 var CN_SEVEN= "柒"; 
 var CN_EIGHT= "捌"; 
 var CN_NINE= "玖"; 
 var CN_TEN= "拾"; 
 var CN_HUNDRED= "佰"; 
 var CN_THOUSAND = "仟"; 
 var CN_TEN_THOUSAND= "万"; 
 var CN_HUNDRED_MILLION= "亿"; 
 var CN_SYMBOL= ""; 
 var CN_DOLLAR= "元"; 
 var CN_TEN_CENT = "角"; 
 var CN_CENT= "分"; 
 var CN_INTEGER= "整"; 
 
 // Variables: 
 var integral; // Represent integral part of digit number. 
 var decimal; // Represent decimal part of digit number. 
 var outputCharacters; // The output result. 
 var parts; 
 var digits, radices, bigRadices, decimals; 
 var zeroCount; 
 var i, p, d; 
 var quotient, modulus; 
 
 if (this > MAXIMUM_NUMBER) 
 { 
  return ""; 
 } 
 
 // Process the coversion from currency digits to characters: 
 // Separate integral and decimal parts before processing coversion: 

 parts = (this + "").split("."); 
 if (parts.length > 1) 
 { 
  integral = parts[0]; 
  decimal = parts[1]; 
  // Cut down redundant decimal digits that are after the second. 
  decimal = decimal.substr(0, 2); 
 } 
 else 
 { 
  integral = parts[0]; 
  decimal = ""; 
 } 
 // Prepare the characters corresponding to the digits: 
 digits= new Array(CN_ZERO, CN_ONE, CN_TWO, CN_THREE, CN_FOUR, CN_FIVE, CN_SIX, CN_SEVEN, CN_EIGHT, CN_NINE); 
 radices= new Array("", CN_TEN, CN_HUNDRED, CN_THOUSAND); 
 bigRadices= new Array("", CN_TEN_THOUSAND, CN_HUNDRED_MILLION); 
 decimals= new Array(CN_TEN_CENT, CN_CENT); 
 
 
 // Start processing: 
 outputCharacters = ""; 
 // Process integral part if it is larger than 0: 
 if (Number(integral) > 0) 
 { 
  zeroCount = 0; 
  for (i = 0; i < integral.length; i++) 
  { 
   p = integral.length - i - 1; 
   d = integral.substr(i, 1); 
   quotient = p / 4; 
   modulus = p % 4; 
   if (d == "0") 
   { 
    zeroCount++; 
   } 
   else 
   { 
    if (zeroCount > 0) 
    { 
     outputCharacters += digits[0]; 
    } 
    zeroCount = 0; 
    outputCharacters += digits[Number(d)] + radices[modulus]; 
   } 
   if (modulus == 0 && zeroCount < 4) 
   { 
    outputCharacters += bigRadices[quotient]; 
   } 
  } 
  outputCharacters += CN_DOLLAR; 
 } 
 
 // Process decimal part if there is: 
 if (decimal != "") 
 { 
  for (i = 0; i < decimal.length; i++) 
  { 
   d = decimal.substr(i, 1); 
   if (d != "0") 
   { 
   outputCharacters += digits[Number(d)] + decimals; 
   } 
  } 
 } 

 // Confirm and return the final output string: 
 if (outputCharacters == "") 
 { 
  outputCharacters = CN_ZERO + CN_DOLLAR; 
 } 
 if (decimal == "") 
 { 
  outputCharacters += CN_INTEGER; 
 } 
 outputCharacters = CN_SYMBOL + outputCharacters; 
 return outputCharacters; 

Number.prototype.toImage = function() 

 var num = Array( 
 "#define t_width 3\n#define t_height 5\nstatic char t_bits[] = {0xF,0x5,0x5,0x5,0xF}", 
 "#define t_width 3\n#define t_height 5\nstatic char t_bits[] = {0x4,0x4,0x4,0x4,0x4}", 
 "#define t_width 3\n#define t_height 5\nstatic char t_bits[] = {0xF,0x4,0xF,0x1,0xF}", 
 "#define t_width 3\n#define t_height 5\nstatic char t_bits[] = {0xF,0x4,0xF,0x4,0xF}", 
 "#define t_width 3\n#define t_height 5\nstatic char t_bits[] = {0x5,0x5,0xF,0x4,0x4}", 
 "#define t_width 3\n#define t_height 5\nstatic char t_bits[] = {0xF,0x1,0xF,0x4,0xF}", 
 "#define t_width 3\n#define t_height 5\nstatic char t_bits[] = {0xF,0x1,0xF,0x5,0xF}", 
 "#define t_width 3\n#define t_height 5\nstatic char t_bits[] = {0xF,0x4,0x4,0x4,0x4}", 
 "#define t_width 3\n#define t_height 5\nstatic char t_bits[] = {0xF,0x5,0xF,0x5,0xF}", 
 "#define t_width 3\n#define t_height 5\nstatic char t_bits[] = {0xF,0x5,0xF,0x4,0xF}" 
 ); 

 var str = this + ""; 
 var iIndex 
 var result="" 
 for(iIndex=0;iIndex<str.length;iIndex++) 
 { 
  result +="<img src='javascript:" & num(iIndex) & "'"> 
 } 
 return result; 
}





本页地址: [复制地址]
该页内容非本站原创 收藏自:http://hi.baidu.com/xgmlucky/blog/item/dec661ec1c26f4d12e2e21ee.html
返回顶部 关闭(快捷键alt+C)
评论统计(0条)| 我要评论
暂无评论内容!
我要评论 
我要评论: 带*部分需要填写
 姓名称呼: * 请填写您的姓名或呢称
联系方式: QQ,MSN,Email都可以,方便交流 (仅管理员可见)
 评论内容: * 不超过100字符,50汉字
验证码:
    
  推荐链接
  最近更新  
·Host 'XXX' is not allowed...
·Win2008或IIS7的文件上传大...
·IIS7.0上传文件限制的解决方...
·测试信息2015-03-11
·asp.net中处理图片
·ASP.NET之Web打印-终极解决...
·Asp.net下C#调用Word模版实...
·asp.net下将页面内容导入到...
·asp.net导出为pdf文件
·asp.net生成pdf文件
·FCKeditor 文本编辑器的使用...
·ASP.NET 将数据生成PDF
·asp.net2.0导出pdf文件完美...
·AspJpeg的安装与测试
·JS验证浏览器版本对IE11的支...
  热门浏览  
·IE8和IE9出现“此网页上的问...
·无线路由器密码破解,教你断...
·js替换所有回车换行符
·QQ/MSN在线交流代码
·IE弹出“中国工商银行防钓鱼...
·如何取消键盘上的一些快捷键...
·win7声音小的解决方法
·webdav漏洞的利用
·强制两端对齐的函数或者CSS...
·win7下成功安装sql server ...
·显示器分辨率调的过高导致电...
·天诺时空技术技术论坛
·js验证手机号码格式
·JS展开和收缩效果(二)
·本地计算机上的 MSSQLSERVE...
  碧海澜涛居
网站首页关于本站站长简介开发案例技术资料美文日志摄影相册读书收藏影视收藏留言板
版权所有:碧海澜涛 QQ:410436434 Email:shaopo_guo@163.com 苏ICP备15000526号
免责声明:本站为个人网站,站内所有文字、图片等各类资料均为个人兴趣爱好所收集,不用作任何商业用途,亦不保证资料的真实性,若有因浏览本站内容而导致的各类纠纷,本站也不承担任何责任。本站部分内容来自互联网,如有涉及到您的权益或隐私请联系站长解决。