人民币大写转换 人民币金额大写
时间: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;>