注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

神殿天堂

神仙的家园

 
 
 

日志

 
 

JS金额小写转大写  

2013-07-25 17:09:00|  分类: Javascript |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
  1. function atoc(numberValue){  

  2. var numberValue=new String(Math.round(numberValue*100)); // 数字金额  

  3. var chineseValue=""// 转换后的汉字金额  

  4. var String1 = "零壹贰叁肆伍陆柒捌玖"// 汉字数字  

  5. var String2 = "万仟佰拾亿仟佰拾万仟佰拾元角分"// 对应单位  

  6. var len=numberValue.length; // numberValue 的字符串长度  

  7. var Ch1; // 数字的汉语读法  

  8. var Ch2; // 数字位的汉字读法  

  9. var nZero=0; // 用来计算连续的零值的个数  

  10. var String3; // 指定位置的数值  

  11. if(len>15){  

  12. alert("超出计算范围");  

  13. return "";  

  14. }  

  15. if (numberValue==0){  

  16. chineseValue = "零元整";  

  17. return chineseValue;  

  18. }  

  19. String2 = String2.substr(String2.length-len, len); // 取出对应位数的STRING2的值  

  20. for(var i=0; i<len; i++){  

  21. String3 = parseInt(numberValue.substr(i, 1),10); // 取出需转换的某一位的值  

  22. if ( i != (len - 3) && i != (len - 7) && i != (len - 11) && i !=(len - 15) ){  

  23. if ( String3 == 0 ){  

  24. Ch1 = "";  

  25. Ch2 = "";  

  26. nZero = nZero + 1;  

  27. }  

  28. else if ( String3 != 0 && nZero != 0 ){  

  29. Ch1 = "零" + String1.substr(String3, 1);  

  30. Ch2 = String2.substr(i, 1);  

  31. nZero = 0;  

  32. }  

  33. else{  

  34. Ch1 = String1.substr(String3, 1);  

  35. Ch2 = String2.substr(i, 1);  

  36. nZero = 0;  

  37. }  

  38. }  

  39. else// 该位是万亿,亿,万,元位等关键位  

  40. if( String3 != 0 && nZero != 0 ){  

  41. Ch1 = "零" + String1.substr(String3, 1);  

  42. Ch2 = String2.substr(i, 1);  

  43. nZero = 0;  

  44. }  

  45. else if ( String3 != 0 && nZero == 0 ){  

  46. Ch1 = String1.substr(String3, 1);  

  47. Ch2 = String2.substr(i, 1);  

  48. nZero = 0;  

  49. }  

  50. else if( String3 == 0 && nZero >= 3 ){  

  51. Ch1 = "";  

  52. Ch2 = "";  

  53. nZero = nZero + 1;  

  54. }  

  55. else{  

  56. Ch1 = "";  

  57. Ch2 = String2.substr(i, 1);  

  58. nZero = nZero + 1;  

  59. }  

  60. if( i == (len - 11) || i == (len - 3)){ // 如果该位是亿位或元位,则必须写上  

  61. Ch2 = String2.substr(i, 1);  

  62. }  

  63. }  

  64. chineseValue = chineseValue + Ch1 + Ch2;  

  65. }  

  66. if ( String3 == 0 ){ // 最后一位(分)为0时,加上“整”  

  67. chineseValue = chineseValue + "整";  

  68. }  

  69. return chineseValue;  

  70. }  


  评论这张
 
阅读(3)| 评论(1)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018