js 小写转成大写

  1.  function ChangeToBig(value)  
  2. {  
  3.  var intFen,i;  
  4.  var strArr,strCheck,strFen,strDW,strNum,strBig,strNow;  
  5. /** 
  6.  if(trim(value)=="")   //数据为空时返回"零" 
  7.   return "零"; 
  8.  if (isNaN(value))   //数据非法时提示,并返回空串 
  9.  { 
  10.   strErr = "数据"+value+"非法!" 
  11.   alert(strErr); 
  12.   return ""; 
  13.  } 
  14. **/  
  15.  strCheck = value+".";  
  16.  strArr = strCheck.split(".");  
  17.  strCheck = strArr[0];  
  18.  if(strCheck.length>12)   //数据大于等于一万亿时提示无法处理  
  19.  {  
  20.   strErr = "数据"+value+"过大,无法处理!"  
  21.   alert(strErr);  
  22.   return "";  
  23.  }  
  24.  try  
  25.  {  
  26.   i = 0;  
  27.   strBig = "";  
  28.   intFen = value*100;          //转换为以分为单位的数值  
  29.   strFen = intFen.toString();  
  30.   strArr = strFen.split(".");  
  31.   strFen = strArr[0];  
  32.   intFen = strFen.length;      //获取长度  
  33.   strArr = strFen.split(""); //将各个数值分解到数组内  
  34.   while(intFen!=0)   //分解并转换  
  35.   {  
  36.    i = i+1;  
  37.    switch(i)              //选择单位  
  38.    {  
  39.     case 1:strDW = "分";break;  
  40.     case 2:strDW = "角";break;  
  41.     case 3:strDW = "元";break;  
  42.     case 4:strDW = "拾";break;  
  43.     case 5:strDW = "佰";break;  
  44.     case 6:strDW = "仟";break;  
  45.     case 7:strDW = "万";break;  
  46.     case 8:strDW = "拾";break;  
  47.     case 9:strDW = "佰";break;  
  48.     case 10:strDW = "仟";break;  
  49.     case 11:strDW = "亿";break;  
  50.     case 12:strDW = "拾";break;  
  51.     case 13:strDW = "佰";break;  
  52.     case 14:strDW = "仟";break;  
  53.    }  
  54.    switch (strArr[intFen-1])              //选择数字  
  55.    {  
  56.     case "1":strNum = "壹";break;  
  57.     case "2":strNum = "贰";break;  
  58.     case "3":strNum = "叁";break;  
  59.     case "4":strNum = "肆";break;  
  60.     case "5":strNum = "伍";break;  
  61.     case "6":strNum = "陆";break;  
  62.     case "7":strNum = "柒";break;  
  63.     case "8":strNum = "捌";break;  
  64.     case "9":strNum = "玖";break;  
  65.     case "0":strNum = "零";break;  
  66.    }  
  67.    //处理特殊情况  
  68.    strNow = strBig.split("");  
  69.    //分为零时的情况  
  70.    if((i==1)&&(strArr[intFen-1]=="0"))  
  71.     strBig = "整";  
  72.    //角为零时的情况  
  73.    else if((i==2)&&(strArr[intFen-1]=="0"))  
  74.    {    //角分同时为零时的情况  
  75.     if(strBig!="整")  
  76.      strBig = "零"+strBig;  
  77.    }  
  78.    //元为零的情况  
  79.    else if((i==3)&&(strArr[intFen-1]=="0"))  
  80.     strBig = "元"+strBig;  
  81.    //拾-仟中一位为零且其前一位(元以上)不为零的情况时补零  
  82.    else if((i<7)&&(i>3)&&(strArr[intFen-1]=="0")&&(strNow[0]!="零")&&(strNow[0]!="元"))  
  83.     strBig = "零"+strBig;  
  84.    //拾-仟中一位为零且其前一位(元以上)也为零的情况时跨过  
  85.    else if((i<7)&&(i>3)&&(strArr[intFen-1]=="0")&&(strNow[0]=="零"))  
  86.     {}  
  87.    //拾-仟中一位为零且其前一位是元且为零的情况时跨过  
  88.    else if((i<7)&&(i>3)&&(strArr[intFen-1]=="0")&&(strNow[0]=="元"))  
  89.     {}  
  90.    //当万为零时必须补上万字  
  91.    else if((i==7)&&(strArr[intFen-1]=="0"))  
  92.     strBig ="万"+strBig;  
  93.    //拾万-仟万中一位为零且其前一位(万以上)不为零的情况时补零  
  94.    else if((i<11)&&(i>7)&&(strArr[intFen-1]=="0")&&(strNow[0]!="零")&&(strNow[0]!="万"))  
  95.     strBig = "零"+strBig;  
  96.    //拾万-仟万中一位为零且其前一位(万以上)也为零的情况时跨过  
  97.    else if((i<11)&&(i>7)&&(strArr[intFen-1]=="0")&&(strNow[0]=="万"))  
  98.     {}  
  99.    //拾万-仟万中一位为零且其前一位为万位且为零的情况时跨过  
  100.    else if((i<11)&&(i>7)&&(strArr[intFen-1]=="0")&&(strNow[0]=="零"))  
  101.     {}  
  102.    //万位为零且存在仟位和十万以上时,在万仟间补零  
  103.    else if((i<11)&&(i>8)&&(strArr[intFen-1]!="0")&&(strNow[0]=="万")&&(strNow[2]=="仟"))  
  104.     strBig = strNum+strDW+"万零"+strBig.substring(1,strBig.length);  
  105.    //单独处理亿位  
  106.    else if(i==11)  
  107.    {  
  108.     //亿位为零且万全为零存在仟位时,去掉万补为零  
  109.     if((strArr[intFen-1]=="0")&&(strNow[0]=="万")&&(strNow[2]=="仟"))  
  110.      strBig ="亿"+"零"+strBig.substring(1,strBig.length);  
  111.     //亿位为零且万全为零不存在仟位时,去掉万  
  112.     else if((strArr[intFen-1]=="0")&&(strNow[0]=="万")&&(strNow[2]!="仟"))  
  113.      strBig ="亿"+strBig.substring(1,strBig.length);  
  114.     //亿位不为零且万全为零存在仟位时,去掉万补为零  
  115.     else if((strNow[0]=="万")&&(strNow[2]=="仟"))  
  116.      strBig = strNum+strDW+"零"+strBig.substring(1,strBig.length);  
  117.     //亿位不为零且万全为零不存在仟位时,去掉万   
  118.     else if((strNow[0]=="万")&&(strNow[2]!="仟"))  
  119.      strBig = strNum+strDW+strBig.substring(1,strBig.length);   
  120.     //其他正常情况  
  121.     else  
  122.       strBig = strNum+strDW+strBig;  
  123.    }  
  124.    //拾亿-仟亿中一位为零且其前一位(亿以上)不为零的情况时补零  
  125.    else if((i<15)&&(i>11)&&(strArr[intFen-1]=="0")&&(strNow[0]!="零")&&(strNow[0]!="亿"))  
  126.     strBig = "零"+strBig;  
  127.    //拾亿-仟亿中一位为零且其前一位(亿以上)也为零的情况时跨过  
  128.    else if((i<15)&&(i>11)&&(strArr[intFen-1]=="0")&&(strNow[0]=="亿"))  
  129.     {}  
  130.    //拾亿-仟亿中一位为零且其前一位为亿位且为零的情况时跨过  
  131.    else if((i<15)&&(i>11)&&(strArr[intFen-1]=="0")&&(strNow[0]=="零"))  
  132.     {}  
  133.    //亿位为零且不存在仟万位和十亿以上时去掉上次写入的零  
  134.    else if((i<15)&&(i>11)&&(strArr[intFen-1]!="0")&&(strNow[0]=="零")&&(strNow[1]=="亿")&&(strNow[3]!="仟"))  
  135.     strBig = strNum+strDW+strBig.substring(1,strBig.length);  
  136.    //亿位为零且存在仟万位和十亿以上时,在亿仟万间补零  
  137.    else if((i<15)&&(i>11)&&(strArr[intFen-1]!="0")&&(strNow[0]=="零")&&(strNow[1]=="亿")&&(strNow[3]=="仟"))  
  138.     strBig = strNum+strDW+"亿零"+strBig.substring(2,strBig.length);  
  139.    else  
  140.     strBig = strNum+strDW+strBig;  
  141.    strFen = strFen.substring(0,intFen-1);  
  142.    intFen = strFen.length;  
  143.    strArr = strFen.split("");  
  144.   }  
  145.   return strBig;  
  146.  }catch(err){  
  147.   return "";      //若失败则返回原值  
  148.  }   
  149. }  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值