电脑技术学习

将金额小写转化成汉字大写的实现过程

dn001

自己写的一个比较丑的程序,但做报表时候有用
/********************************************************************
时间:2003.7.31
作者:千里猪
功能:将货币数字(阿拉伯数字)(小写)转化成中文(大写)

参数:Num为字符型,小数点之后保留两位,例:Arabia_to_Chinese("1234.06")
说明:1.目前本转换仅支持到 拾亿(元) 位,金额单位为元,不能为万元,最小单位为分
2.不支持负数
修改区

时间:
修改人:
原因:

修改区结束
********************************************************************/
function Arabia_to_Chinese(Num){
;for(i=Num.length-1;i>=0;i--)
;{
;;Num = Num.replace(",","")//替换tomoney()中的“,”
;;Num = Num.replace(" ","")//替换tomoney()中的空格
;}
;Num = Num.replace("¥","")//替换掉可能出现的¥字符
;if(isNaN(Num)) {;//验证输入的字符是否为数字
;alert("请检查小写金额是否正确");
;;return;
}
//---字符处理完毕,开始转换,转换采用前后两部分分别转换--//
;part = String(Num).split(".");
;newchar = "";
;//小数点前进行转化
;for(i=part[0].length-1;i>=0;i--){
;if(part[0].length > 10){ alert("位数过大,无法计算");return "";}//若数量超过拾亿单位,提示
;;tmpnewchar = ""
;perchar = part[0].charAt(i);
;;switch(perchar){
case "0": tmpnewchar="零" + tmpnewchar ;break;
case "1": tmpnewchar="壹" + tmpnewchar ;break;
case "2": tmpnewchar="贰" + tmpnewchar ;break;