今天去武汉一家公司去笔试,遇到一个JavaScript题,没做出来,回来在网上找了一下,又做了一下修改,勉强能用,但是还有一些漏洞,有些地方还是不懂,真是头疼,现在把题目和答案贴出来,请高手指点一下啊,帮忙加上注释,先谢谢了!

题目:

用JavaScript实现金额转换,阿拉伯数字的金额转换成中国传统的形式如(¥1011)->(一千零一拾一元整)输出。

解决方案:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
 <HEAD>
  <TITLE> New Document </TITLE>
  <META NAME="Generator" CONTENT="EditPlus">
  <META NAME="Author" CONTENT="">
  <META NAME="Keywords" CONTENT="">
  <META NAME="Description" CONTENT="">
 </HEAD>
 <script>
  function   moneytormb(money){
                var   dw,num,rmb,dwpos,i;
                dw= "分角元十百千万十百千亿十百千兆十百千万 ";
                num= "零壹贰叁肆伍陆柒捌玖 ";
                rmb= "";
                money=money.toString();//将钱数转换为字符串
                dwpos=money.split( ".")[0].length+1;
                money=money.replace(/\./, "");

                for(i=0;i <money.length;i++){ 
                  var a=money.substr(i,1);
                  var b=num.substr(a,1);
                  var c=dw.substr(Math.abs(dwpos-i),1);
                  rmb=rmb+b+c;                                    
                }
                rmb=rmb.replace(/零[千百十角]/g, "零 ");
                rmb=rmb.replace(/零零零零[兆亿万元]/g, " ");
                rmb=rmb.replace(/零{2,}/g, "零 ");
                rmb=rmb.replace(/零([兆亿万元])/g, "$1 ");
                rmb=rmb.replace(/^元/g, " ");                
                rmb=rmb.replace(/零分$/g, " ");
                rmb=rmb.replace(/元$/g, "元整 ");
                return   rmb;
    }
    alert(moneytormb(110110.35));
 </script>
 <BODY>
 
 </BODY>
</HTML>