人民币大写转换 人民币金额大写

时间:2023-06-23 12:55/span> 作者:tiger 分类: 新知 浏览:836 评论:0

一、效果图

当小写文本框输入完毕,失去焦点时转换为人民币大写,并显示到大写文本框。

二、js代码

 <script type=&34;text/javascript&34;>
  /** 数字金额大写转换(可以处理整数,小数,负数) */    
  function smalltoBIG(n)    
{    
      var fraction = [&39;角&39;, &39;分&39;];    
      var digit = [&39;零&39;, &39;壹&39;, &39;贰&39;, &39;叁&39;, &39;肆&39;, &39;伍&39;, &39;陆&39;, &39;柒&39;, &39;捌&39;, &39;玖&39;];    
      var unit = [ [&39;元&39;, &39;万&39;, &39;亿&39;], [&39;&39;, &39;拾&39;, &39;佰&39;, &39;仟&39;] ];    
      var head = n < 0? &39;负&39;: &39;&39;;    
      n = Math.abs(n);  
      var s = &39;&39;;    
      for (var i = 0; i < fraction.length; i++)    
    {    
          s += (digit[Math.floor(n * 10 * Math.pow(10, i)) % 10] + fraction[i]).replace(/零./, &39;&39;);    
    }    
      s = s || &39;整&39;;    
      n = Math.floor(n);    
      for (var i = 0; i < unit[0].length && n > 0; i++)    
    {    
          var p = &39;&39;;    
          for (var j = 0; j < unit[1].length && n > 0; j++)    
        {    
              p = digit[n % 10] + unit[1][j] + p;    
              n = Math.floor(n / 10);    
        }    
          s = p.replace(/(零.)*零$/, &39;&39;).replace(/^$/, &39;零&39;)  + unit[0][i] + s;    
    }    
      return head + s.replace(/(零.)*零元/, &39;元&39;).replace(/(零.)+/g, &39;零&39;).replace(/^整$/, &39;零元整&39;);    
}

  function convertRMB(){
  var srmb=Number(document.getElementById(&34;smallrmb&34;).value);
  console.log(srmb);
  document.getElementById(&34;bigrmb&34;).value = smalltoBIG(srmb);
}
 </script>

三、html代码

小写:<input id=&34;smallrmb&34; type=&34;text&34;  onBlur=&34;convertRMB()&34;><br>
大写:<input id=&34;bigrmb&34; type=&34;text&34;>

文章评论