// 当数字长度超过aiMaxOut时返回文字"金额值超出允许范围!"
function Money_Format(aiMoney,acType,aiMaxOut){ //大写人民币转换(以分为单位)
if (!aiMaxOut){aiMaxOut = 7;}
lcMoney = parseFloat(aiMoney)+"";
if (lcMoney=='NaN'){lcMoney='0.00'}
if (lcMoney.indexOf('.')==-1){
lcMoney=lcMoney+".00"
}else{
lcMoney=lcMoney.substring(0,lcMoney.indexOf('.')+3)
if (((lcMoney.substring(lcMoney.indexOf('.'))).length)==2){lcMoney=lcMoney+'0'}
}
lcMoneyNs = lcMoney;
lcMoney = lcMoney.replace('.','')
lcMoney = lcMoney.replace('-','')
var liLength=lcMoney.length , lcFormat="";
for (i=1; i<=(aiMaxOut-liLength); i++){
lcMoney = '0' + lcMoney;
}
if (liLength>aiMaxOut){lcFormat = '<span class=Right>金额值超出允许范围!</span>';aiMaxOut=0;}
liLength=aiMaxOut;
var AlterlcMoney= new Array();
AlterlcMoney[0]="零";AlterlcMoney[1]="壹";AlterlcMoney[2]="贰";AlterlcMoney[3]="叁";AlterlcMoney[4]="肆";AlterlcMoney[5]="伍";AlterlcMoney[6]="陆";AlterlcMoney[7]="柒";AlterlcMoney[8]="捌";AlterlcMoney[9]="玖";
for (i=1; i<=liLength; i++){
var liTempMoney = parseFloat(lcMoney.substring(liLength-i));
lcMoney = lcMoney.substring(0,liLength-i);
if (i==1){lcFormat ="分" + lcFormat;}
if (i==2){lcFormat ="角" + lcFormat;}
if (i==3){lcFormat ="元" + lcFormat;}
if (i==4){lcFormat ="拾" + lcFormat;}
if (i==5){lcFormat ="佰" + lcFormat;}
if (i==6){lcFormat ="仟" + lcFormat;}
if (i==7){lcFormat ="万" + lcFormat;}
if (i==8){lcFormat ="拾" + lcFormat;}
if (i==9){lcFormat ="佰" + lcFormat;}
if (i==10){lcFormat ="仟"+ lcFormat;}
lcFormat = "<span class=Right>" + AlterlcMoney[liTempMoney] + "</span>" + lcFormat;
}
lcMoney = lcFormat;
if (acType=="N"){
return lcMoneyNs;
}else{
return lcMoney;
}
}
function Money_Format(aiMoney,acType,aiMaxOut){ //大写人民币转换(以分为单位)
if (!aiMaxOut){aiMaxOut = 7;}
lcMoney = parseFloat(aiMoney)+"";
if (lcMoney=='NaN'){lcMoney='0.00'}
if (lcMoney.indexOf('.')==-1){
lcMoney=lcMoney+".00"
}else{
lcMoney=lcMoney.substring(0,lcMoney.indexOf('.')+3)
if (((lcMoney.substring(lcMoney.indexOf('.'))).length)==2){lcMoney=lcMoney+'0'}
}
lcMoneyNs = lcMoney;
lcMoney = lcMoney.replace('.','')
lcMoney = lcMoney.replace('-','')
var liLength=lcMoney.length , lcFormat="";
for (i=1; i<=(aiMaxOut-liLength); i++){
lcMoney = '0' + lcMoney;
}
if (liLength>aiMaxOut){lcFormat = '<span class=Right>金额值超出允许范围!</span>';aiMaxOut=0;}
liLength=aiMaxOut;
var AlterlcMoney= new Array();
AlterlcMoney[0]="零";AlterlcMoney[1]="壹";AlterlcMoney[2]="贰";AlterlcMoney[3]="叁";AlterlcMoney[4]="肆";AlterlcMoney[5]="伍";AlterlcMoney[6]="陆";AlterlcMoney[7]="柒";AlterlcMoney[8]="捌";AlterlcMoney[9]="玖";
for (i=1; i<=liLength; i++){
var liTempMoney = parseFloat(lcMoney.substring(liLength-i));
lcMoney = lcMoney.substring(0,liLength-i);
if (i==1){lcFormat ="分" + lcFormat;}
if (i==2){lcFormat ="角" + lcFormat;}
if (i==3){lcFormat ="元" + lcFormat;}
if (i==4){lcFormat ="拾" + lcFormat;}
if (i==5){lcFormat ="佰" + lcFormat;}
if (i==6){lcFormat ="仟" + lcFormat;}
if (i==7){lcFormat ="万" + lcFormat;}
if (i==8){lcFormat ="拾" + lcFormat;}
if (i==9){lcFormat ="佰" + lcFormat;}
if (i==10){lcFormat ="仟"+ lcFormat;}
lcFormat = "<span class=Right>" + AlterlcMoney[liTempMoney] + "</span>" + lcFormat;
}
lcMoney = lcFormat;
if (acType=="N"){
return lcMoneyNs;
}else{
return lcMoney;
}
}
alert(MoneyFormat(12345.45,7)); function MoneyFormat(aiMoney,aiMaxOut){ //大写人民币转换(以分为单位)
if (!aiMaxOut){aiMaxOut = 7;}
lcMoney = parseFloat(aiMoney)+"";
if (lcMoney=='NaN'){lcMoney='0.00'}
if (lcMoney.indexOf('.')==-1){
lcMoney=lcMoney+".00"
}else{
lcMoney=lcMoney.substring(0,lcMoney.indexOf('.')+3)
if (((lcMoney.substring(lcMoney.indexOf('.'))).length)==2){lcMoney=lcMoney+'0'}
}
lcMoneyNs = lcMoney;
lcMoney = lcMoney.replace('.','')
lcMoney = lcMoney.replace('-','')
var liLength=lcMoney.length , lcFormat="";
for (i=1; i<=(aiMaxOut-liLength); i++){
lcMoney = '0' + lcMoney;
}
if (liLength>aiMaxOut){lcFormat = '金额值超出范围!';aiMaxOut=0;}
liLength=aiMaxOut;
var AlterlcMoney= new Array();
AlterlcMoney[0]="零";AlterlcMoney[1]="壹";AlterlcMoney[2]="贰";AlterlcMoney[3]="叁";AlterlcMoney[4]="肆";AlterlcMoney[5]="伍";AlterlcMoney[6]="陆";AlterlcMoney[7]="柒";AlterlcMoney[8]="捌";AlterlcMoney[9]="玖";
for (i=1; i<=liLength; i++){
var liTempMoney = parseFloat(lcMoney.substring(liLength-i));
lcMoney = lcMoney.substring(0,liLength-i);
if (i==1){lcFormat ="分" + lcFormat;}
if (i==2){lcFormat ="角" + lcFormat;}
if (i==3){lcFormat ="元" + lcFormat;}
if (i==4){lcFormat ="拾" + lcFormat;}
if (i==5){lcFormat ="佰" + lcFormat;}
if (i==6){lcFormat ="仟" + lcFormat;}
if (i==7){lcFormat ="万" + lcFormat;}
if (i==8){lcFormat ="拾" + lcFormat;}
if (i==9){lcFormat ="佰" + lcFormat;}
if (i==10){lcFormat ="仟"+ lcFormat;}
lcFormat = AlterlcMoney[liTempMoney] + lcFormat;
}
lcMoney = lcFormat;
return lcMoney;
}
</script>
前面会出现:零佰零拾壹万贰仟叁佰肆拾伍元壹角贰分
你能不能除前面零,不要用aiMaxOut这个参数的限制。
<script>
function doChange(){
var iMoney = document.all.t1.value ;
document.all.divid.innerHTML=Money_Format(iMoney,"",9);
}
// 当数字长度超过aiMaxOut时返回文字"金额值超出允许范围!"
function Money_Format(aiMoney,acType,aiMaxOut){ //大写人民币转换(以分为单位)
if (!aiMaxOut){aiMaxOut = 7;}
lcMoney = parseFloat(aiMoney)+"";
if (lcMoney=='NaN'){lcMoney='0.00'}
if (lcMoney.indexOf('.')==-1){
lcMoney=lcMoney+".00"
}else{
lcMoney=lcMoney.substring(0,lcMoney.indexOf('.')+3)
if (((lcMoney.substring(lcMoney.indexOf('.'))).length)==2){lcMoney=lcMoney+'0'}
}
lcMoneyNs = lcMoney;
lcMoney = lcMoney.replace('.','')
lcMoney = lcMoney.replace('-','')
var liLength=lcMoney.length , lcFormat="";
for (i=1; i<=(aiMaxOut-liLength); i++){
lcMoney = '0' + lcMoney;
}
if (liLength>aiMaxOut){lcFormat = '<span class=Right>金额值超出允许范围!</span>';aiMaxOut=0;}
liLength=aiMaxOut;
var AlterlcMoney= new Array();
AlterlcMoney[0]="零";AlterlcMoney[1]="壹";AlterlcMoney[2]="贰";AlterlcMoney[3]="叁";AlterlcMoney[4]="肆";AlterlcMoney[5]="伍";AlterlcMoney[6]="陆";AlterlcMoney[7]="柒";AlterlcMoney[8]="捌";AlterlcMoney[9]="玖";
for (i=1; i<=liLength; i++){
var liTempMoney = parseFloat(lcMoney.substring(liLength-i));
lcMoney = lcMoney.substring(0,liLength-i);
if (i==1){lcFormat ="分" + lcFormat;}
if (i==2){lcFormat ="角" + lcFormat;}
if (i==3){lcFormat ="元" + lcFormat;}
if (i==4){lcFormat ="拾" + lcFormat;}
if (i==5){lcFormat ="佰" + lcFormat;}
if (i==6){lcFormat ="仟" + lcFormat;}
if (i==7){lcFormat ="万" + lcFormat;}
if (i==8){lcFormat ="拾" + lcFormat;}
if (i==9){lcFormat ="佰" + lcFormat;}
if (i==10){lcFormat ="仟"+ lcFormat;}
lcFormat = "<span class=Right>" + AlterlcMoney[liTempMoney] + "</span>" + lcFormat;
}
lcMoney = lcFormat;
if (acType=="N"){
return lcMoneyNs;
}else{
return lcMoney;
}
}
</script>
<BODY BGCOLOR="#FFFFFF">
<input type="text" name="t1">
<input type="button" value="test" onclick="doChange();">
<div id="divid">
</div>
</BODY>
alert(MoneyFormat(liMoney,liMoney.length-1));
alert(Chinese("12345.45"));
alert(Chinese("12000.45"));
function Chinese(num){
var arr1=new Array("仟","佰","拾","亿","仟","佰","拾","万","仟","佰","拾","元","点","角","分")
var arr3=new Array("零","壹","贰","叁","肆","伍","陆","柒","捌","玖")
var point=num.indexOf(".")
if(point<0)point=num.length
var len=arr1.length-point-3
var strRet="",flag=true;
for(i=0;i<num.length;i++){
if(i!=point){
val=arr1[i+len]
if(num.charAt(i)!="0")
{strRet+=arr3[num.charAt(i)]+val;flag=true;}
else
if(val=="亿"||val=="万"||val=="元"||val=="分"){
if(!flag){strRet=strRet.substr(0,strRet.length-1)+val;flag=true;}
}else{
if(flag){flag=false;strRet+="零";}
}
}
}
return strRet.replace("零零零","").replace("零零","零");
}
</script>
Chinese(200050.00)
输出为: 贰拾零伍拾分
document.write(Chinese("1.01"));
document.write("<br>"+Chinese("10.02"));
document.write("<br>"+Chinese("101.03"));
document.write("<br>"+Chinese("1020.04"));
document.write("<br>"+Chinese("10300.05"));
document.write("<br>"+Chinese("104000.06"));
document.write("<br>"+Chinese("1050000.07"));
document.write("<br>"+Chinese("10600000.08"));
document.write("<br>"+Chinese("107000000.09"));
document.write("<br>"+Chinese("1080000000.10"));
document.write("<br>"+Chinese("10900000000.11"));function Chinese(num){
var arr1=new Array("仟","佰","拾","亿","仟","佰","拾","万","仟","佰","拾","元","点","角","分")
var arr3=new Array("零","壹","贰","叁","肆","伍","陆","柒","捌","玖")
var point=num.indexOf(".")
if(point<0)point=num.length
var len=arr1.length-point-3
var strRet="",lastChar="";
for(i=0;i<num.length;i++){
if(i!=point){
val=arr1[i+len]
if(num.charAt(i)!="0")
strRet+=arr3[num.charAt(i)]+val;
else{
lastChar=strRet.substr(strRet.length-1)
if(val=="亿"||val=="万"||val=="元"||val=="分"){
if(lastChar=="零")strRet=strRet.substr(0,strRet.length-1);
lastChar=strRet.substr(strRet.length-1)
if(!((val=="万"&&lastChar=="亿")||(val=="分"&&lastChar=="角")))strRet+=val
}else{
if(lastChar!="零")strRet+="零";
}
}
}
}
return strRet
}
</script>