六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 40|回复: 0

JavaScript实现金额转化大写完整示例

[复制链接]

升级  8%

16

主题

16

主题

16

主题

秀才

Rank: 2

积分
62
 楼主| 发表于 2013-2-7 15:41:15 | 显示全部楼层 |阅读模式
曾几何时,要写JS实现金额转化大写,不知道怎么写~~最后写出来了~
拿出来现个丑~给初学者提供个完整的~(功能就不说了~学习用嘛~o(∩_∩)o...)
-------------------------------------------------------------------
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<SCRIPT LANGUAGE="JavaScript">
function Arabia_to_Chinese(Num){
   for(i=Num.length-1;i>=0;i--)
   {
    Num = Num.replace(",","")
    Num = Num.replace(" ","")
   }
   Num = Num.replace("¥","")

   if(isNaN(Num)) { //数字ではない
    alert("金額不正");
    return;
   }
   part = String(Num).split(".");
   newchar = "";
if (part[0].length > 5) {
alert("位数が大きい!");
return;
}
var count = part[0].length-1;
   for(i=count;i>=0;i--){
tmpnewchar = "";
perchar = part[0].charAt(i);
switch(perchar){
case '0':tmpnewchar += "零";break;
case '1':tmpnewchar += "壱";break;
case '2':tmpnewchar += "弐";break;
case '3':tmpnewchar += "参";break;
case '4':tmpnewchar += "肆";break;
case '5':tmpnewchar += "伍";break;
case '6':tmpnewchar += "陸";break;
case '7':tmpnewchar += "染";break;
case '8':tmpnewchar += "捌";break;
case '9':tmpnewchar += "玖";break;
}
//
switch(count-i){
case 0:tmpnewchar += "元";break;
case 1:if(perchar != 0)tmpnewchar += "拾";break;
case 2:if(perchar != 0)tmpnewchar += "百";break;
case 3:if(perchar != 0)tmpnewchar += "千";break;
case 4:if(perchar != 0)tmpnewchar += "万";break;
}
newchar = tmpnewchar + newchar;
   }
   if (part[1]!= null && part[1].length > 0) {
count = part[1].length-1;
for (i=0; i<2; i++) {
tmpnewchar = "";
perchar = part[1].charAt(i);
switch(perchar){
case '0':tmpnewchar += "零";break;
case '1':tmpnewchar += "壱";break;
case '2':tmpnewchar += "弐";break;
case '3':tmpnewchar += "参";break;
case '4':tmpnewchar += "肆";break;
case '5':tmpnewchar += "伍";break;
case '6':tmpnewchar += "陸";break;
case '7':tmpnewchar += "染";break;
case '8':tmpnewchar += "捌";break;
case '9':tmpnewchar += "玖";break;
}
switch (i) {
case 0: tmpnewchar = tmpnewchar + "分";break;
case 1: tmpnewchar += "角";break;
}
newchar += tmpnewchar;
}
   }
   document.getElementById('tt').value = newchar;
   check(document.getElementById('tt'));
}
function check(obj){
if (obj.value != "") {
obj.style.backgroundColor ="#F5F5DC";
} else {
   obj.style.backgroundColor ="#FFFFFF";
}
}
</SCRIPT>
</HEAD>
<BODY>
<input type="text" size="40" value="0.0" onchange="Arabia_to_Chinese(this.value)"/>¥<br/>
<input type="text" size="40" onchange="check(this)" id="tt"/>¥
</BODY>
</HTML>
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表