转换大写中文数字

王朝html/css/js·作者佚名  2006-01-08
窄屏简体版  字體: |||超大  

类别:Java

-> Javascript

转换大写数字

可以将数字(包括小数)转换为大写的中文数字,并且保留两位。范围:0~9999,9999,9999。

效果:

转换代码如下:

function Transform()

{

var whole = document.all.num.value;

//分离整数与小数

var num;

var dig;

if(whole.indexOf(".") == -1)

{

num = whole;

dig = "";

}

else

{

num = whole.substr(0,whole.indexOf("."));

dig = whole.substr( whole.indexOf(".")+1, whole.length);

}

//转换整数部分

var i=1;

var len = num.length;

var dw2 = new Array("","万","亿");//大单位

var dw1 = new Array("拾","佰","千");//小单位

var dw = new Array("","壹","贰","叁","肆","伍","陆","柒","捌","玖");//整数部分用

var dws = new Array("零","壹","贰","叁","肆","伍","陆","柒","捌","玖");//小数部分用

var k1=0;//计小单位

var k2=0;//计大单位

var str="";

for(i=1;i<=len;i++)

{

var n = num.charAt(len-i);

if(n=="0")

{

if(k1!=0)

str = str.substr( 1, str.length-1);

}

str = dw[Number(n)].concat(str);//加数字

if(len-i-1>=0)//在数字范围内

{

if(k1!=3)//加小单位

{

str = dw1[k1].concat(str);

k1++;

}

else//不加小单位,加大单位

{

k1=0;

var temp = str.charAt(0);

if(temp=="万" || temp=="亿")//若大单位前没有数字则舍去大单位

str = str.substr( 1, str.length-1);

str = dw2[k2].concat(str);

}

}

if(k1==3)//小单位到千则大单位进一

{

k2++;

}

}

//转换小数部分

var strdig="";

for(i=0;i<2;i++)

{

var n = dig.charAt(i);

strdig += dws[Number(n)];//加数字

}

str += " 点 "+strdig;

document.all.text.value = str;

}

技术资料

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航