早此日子,写了个数字转为金额的,今天在电脑上找到的,虽然网上这类代码很多,但毕竟花了些心思,所以在此记上,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 >
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/134308/viewspace-140586/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/134308/viewspace-140586/