首页 > 代码库 > 数字货币转换为中文货币

数字货币转换为中文货币

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>数字货币到中文货币的转换</title>
<script type="text/javascript" language="javascript">

function Transform()
{
 
 var num =document.getElementById("num").value;
 for(i=num.length-1;i>=0;i--)
 {
  num=num.replace(",","");//替换文本框中的“,”
  num=num.replace(" ","");//替换文本框中的空格 
 } 

num=num.replace("¥","");//替换掉可能出现的¥字符
 if(isNaN(num))
 {
  //验证输入的字符是否为数字
  alert("请检查输入的金额是否正确");
  return; 
 }

//---字符处理完毕,开始转换,转换采用前后两部分分别转换---//
 part=new String(num).split(‘.‘);
 newchar="";
 //小数点前进行转化
 for(i=part[0].length-1;i>=0;i--)
 {
  if(part[0].length>10)
  {
   alert("为数过大,无法计算");
   return"";
  }
  //若数量超过拾亿单位,提示=
  tmpnewchar=""
  var perchar=part[0].charAt(i);
  switch(perchar)
  {
   case "0":
    tmpnewchar = "零" + tmpnewchar;
                break;
   case "1":
    tmpnewchar = "壹" + tmpnewchar;
                break;
   case "2":
    tmpnewchar = "贰" + tmpnewchar;
                break;
   case "3":
    tmpnewchar = "叁" + tmpnewchar;
                break;
   case "4":
    tmpnewchar = "肆" + tmpnewchar;
                break;
   case "5":
    tmpnewchar = "伍" + tmpnewchar;
                break;
   case "6":
    tmpnewchar = "陆" + tmpnewchar;
                break;
    case "7":
    tmpnewchar = "柒" + tmpnewchar;
                break;
   case "8":
    tmpnewchar = "捌" + tmpnewchar;
                break;
   case "9":
    tmpnewchar = "玖" + tmpnewchar;
                break; 
  }

switch(part[0].length-i-1)
  {
   case 0:
                tmpnewchar = tmpnewchar + "元";
                break;
   case 1:
                if (perchar != 0)
                    tmpnewchar = tmpnewchar + "拾";
                break;
   case 2:
                if (perchar != 0)
                    tmpnewchar = tmpnewchar + "佰";
                break;
   case 3:
                if (perchar != 0)
                    tmpnewchar = tmpnewchar + "仟";
                break;
   case 4:
                if (perchar != 0)
                    tmpnewchar = tmpnewchar + "万";
                break;
   case 5:
                if (perchar != 0)
                    tmpnewchar = tmpnewchar + "拾";
                break;
   case 6:
                if (perchar != 0)
                    tmpnewchar = tmpnewchar + "佰";
                break;
   case 7:
                if (perchar != 0)
                    tmpnewchar = tmpnewchar + "仟";
                break;
   case 8:
                tmpnewchar = tmpnewchar + "亿";
                break;
   case 9:
                tmpnewchar = tmpnewchar + "拾";
                break;
  }
  newchar=tmpnewchar+newchar;
 }

//小数点之后进行转化
 if(num.indexOf(".")!=-1)
 {
  if(part[1].length>2)
  {
   alert("小数点之后只能保留两位,系统将自动截段");
   part[1]=part[1].substr(0,2)
  }
  for(i=0;i<part[1].length;i++)
  {
   tmpnewchar=""
   perchar=part[1].charAt(i)
   switch(perchar)
   {
    case "0":
     tmpnewchar = "零" + tmpnewchar;
                    break;
    case "1":
     tmpnewchar = "壹" + tmpnewchar;
                    break;
    case "2":
     tmpnewchar = "贰" + tmpnewchar;
                    break;
    case "3":
     tmpnewchar = "叁" + tmpnewchar;
                    break;
    case "4":
     tmpnewchar = "肆" + tmpnewchar;
                    break;
    case "5":
     tmpnewchar = "伍" + tmpnewchar;
                    break;
    case "6":
     tmpnewchar = "陆" + tmpnewchar;
                    break;
    case "7":
     tmpnewchar = "柒" + tmpnewchar;
                    break;
    case "8":
     tmpnewchar = "捌" + tmpnewchar;
                    break;
    case "9":
     tmpnewchar = "玖" + tmpnewchar; 
                    break;
   }
   if(i==0)
    tmpnewchar=tmpnewchar+"角";
   if(i==1)
    tmpnewchar=tmpnewchar+"分";
   newchar=newchar+tmpnewchar;
  }
 }
 //替换所有无用汉字
 while(newchar.search("零零")!=-1)
 newchar=newchar.replace("零零","零");
 newchar=newchar.replace("零亿","亿");
 newchar=newchar.replace("亿万","亿");
 newchar=newchar.replace("零万","万");
 newchar=newchar.replace("零元","元");
 newchar=newchar.replace("零角","");
 newcahr=newchar.replace("零分","");
 if(newchar.charAt(newchar.length-1)=="元"||newchar.charAt(newchar.length-1)=="角")
 newchar=newchar+"整";
 alert(newchar);
}
</script>

<body>
<form action="" method="post" name="form1">
  数字货币:
  <input type="text" name="num" id="num" />
  <input type="button" name="btn1" id="button" value="http://www.mamicode.com/转换" onclick="Transform()"/>
</form>
</body>
</html>