数字转换成大写金额
早此日子,写了个数字转为金额的,今天在电脑上找到的,虽然网上这类代码很多,但毕竟花了些心思,所以在此记上,javascript实现的,代码如下:
<
html
>
< body >
< form >
< input type = " text " value = " 1034354.245 " name = " text1 " />
< input type = " button " value = " out " onclick = " piliskys() " />
</ form >
</ body >
</ html >
< script >
function piliskys() {
var test1 = document.all.text1.value;
if (isNaN(test1)) {
alert( " 不是一个有效的数字,请重新输入! " );
}
else creat();
}
function creat() {
var test1 = document.all.text1.value;
var money1 = new Number(test1);
if (money1 > 1000000000000000000 ) {
alert( " 你输入的数字太大,重新输入! " );
return ;
}
var monee = Math.round(money1 * 100 ).toString( 10 )
var i,j;
j = 0 ;
var leng = monee.length;
var monval = "" ;
for ( i = 0 ;i < leng;i ++ )
{
monval = monval + to_upper(monee.charAt(i)) + to_mon(leng - i - 1 );
}
repace_acc(monval);
}
function to_upper( a)
{
switch (a) {
case ' 0 ' : return '零'; break ;
case ' 1 ' : return '壹'; break ;
case ' 2 ' : return '贰'; break ;
case ' 3 ' : return '叁'; break ;
case ' 4 ' : return '肆'; break ;
case ' 5 ' : return '伍'; break ;
case ' 6 ' : return '陆'; break ;
case ' 7 ' : return '柒'; break ;
case ' 8 ' : return '捌'; break ;
case ' 9 ' : return '玖'; break ;
default : return '' ;
}
}
function to_mon(a) {
if (a > 10 ) { a = a - 8 ;
return (to_mon(a));}
switch (a) {
case 0 : return '分'; break ;
case 1 : return '角'; break ;
case 2 : return '元'; break ;
case 3 : return '拾'; break ;
case 4 : return '佰'; break ;
case 5 : return '仟'; break ;
case 6 : return '万'; break ;
case 7 : return '拾'; break ;
case 8 : return '佰'; break ;
case 9 : return '仟'; break ;
case 10 : return '亿'; break ;
}
}
function repace_acc(Money) {
Money = Money.replace( " 零分 " , "" );
Money = Money.replace( " 零角 " , " 零 " );
var yy;
var outmoney;
outmoney = Money;
yy = 0 ;
while ( true ) {
var lett = outmoney.length;
outmoney = outmoney.replace( " 零元 " , " 元 " );
outmoney = outmoney.replace( " 零万 " , " 万 " );
outmoney = outmoney.replace( " 零亿 " , " 亿 " );
outmoney = outmoney.replace( " 零仟 " , " 零 " );
outmoney = outmoney.replace( " 零佰 " , " 零 " );
outmoney = outmoney.replace( " 零零 " , " 零 " );
outmoney = outmoney.replace( " 零拾 " , " 零 " );
outmoney = outmoney.replace( " 亿万 " , " 亿零 " );
outmoney = outmoney.replace( " 万仟 " , " 万零 " );
outmoney = outmoney.replace( " 仟佰 " , " 仟零 " );
yy = outmoney.length;
if (yy == lett) break ;
}
yy = outmoney.length;
if ( outmoney.charAt(yy - 1 ) == '零') {
outmoney = outmoney.substring( 0 ,yy - 1 );
}
yy = outmoney.length;
if ( outmoney.charAt(yy - 1 ) == '元') {
outmoney = outmoney + '整';
}
alert(outmoney);
}
</ script >
< body >
< form >
< input type = " text " value = " 1034354.245 " name = " text1 " />
< input type = " button " value = " out " onclick = " piliskys() " />
</ form >
</ body >
</ html >
< script >
function piliskys() {
var test1 = document.all.text1.value;
if (isNaN(test1)) {
alert( " 不是一个有效的数字,请重新输入! " );
}
else creat();
}
function creat() {
var test1 = document.all.text1.value;
var money1 = new Number(test1);
if (money1 > 1000000000000000000 ) {
alert( " 你输入的数字太大,重新输入! " );
return ;
}
var monee = Math.round(money1 * 100 ).toString( 10 )
var i,j;
j = 0 ;
var leng = monee.length;
var monval = "" ;
for ( i = 0 ;i < leng;i ++ )
{
monval = monval + to_upper(monee.charAt(i)) + to_mon(leng - i - 1 );
}
repace_acc(monval);
}
function to_upper( a)
{
switch (a) {
case ' 0 ' : return '零'; break ;
case ' 1 ' : return '壹'; break ;
case ' 2 ' : return '贰'; break ;
case ' 3 ' : return '叁'; break ;
case ' 4 ' : return '肆'; break ;
case ' 5 ' : return '伍'; break ;
case ' 6 ' : return '陆'; break ;
case ' 7 ' : return '柒'; break ;
case ' 8 ' : return '捌'; break ;
case ' 9 ' : return '玖'; break ;
default : return '' ;
}
}
function to_mon(a) {
if (a > 10 ) { a = a - 8 ;
return (to_mon(a));}
switch (a) {
case 0 : return '分'; break ;
case 1 : return '角'; break ;
case 2 : return '元'; break ;
case 3 : return '拾'; break ;
case 4 : return '佰'; break ;
case 5 : return '仟'; break ;
case 6 : return '万'; break ;
case 7 : return '拾'; break ;
case 8 : return '佰'; break ;
case 9 : return '仟'; break ;
case 10 : return '亿'; break ;
}
}
function repace_acc(Money) {
Money = Money.replace( " 零分 " , "" );
Money = Money.replace( " 零角 " , " 零 " );
var yy;
var outmoney;
outmoney = Money;
yy = 0 ;
while ( true ) {
var lett = outmoney.length;
outmoney = outmoney.replace( " 零元 " , " 元 " );
outmoney = outmoney.replace( " 零万 " , " 万 " );
outmoney = outmoney.replace( " 零亿 " , " 亿 " );
outmoney = outmoney.replace( " 零仟 " , " 零 " );
outmoney = outmoney.replace( " 零佰 " , " 零 " );
outmoney = outmoney.replace( " 零零 " , " 零 " );
outmoney = outmoney.replace( " 零拾 " , " 零 " );
outmoney = outmoney.replace( " 亿万 " , " 亿零 " );
outmoney = outmoney.replace( " 万仟 " , " 万零 " );
outmoney = outmoney.replace( " 仟佰 " , " 仟零 " );
yy = outmoney.length;
if (yy == lett) break ;
}
yy = outmoney.length;
if ( outmoney.charAt(yy - 1 ) == '零') {
outmoney = outmoney.substring( 0 ,yy - 1 );
}
yy = outmoney.length;
if ( outmoney.charAt(yy - 1 ) == '元') {
outmoney = outmoney + '整';
}
alert(outmoney);
}
</ script >