转载请注明链接:
//by linsl 2008-07-23 转化格式#.## function numToCh(num) { if(num=="") return "零元整"; var ch_str=""; for(var i=0;i<num.length;i++) { num=num.replace(",","");//替换千位分隔符 } if(isNaN(num)||num=="0."||num==".0") { alert("请检查金额是否为有效数字的"); return ""; } if(num==0) return "零元整"; var part=num.split(".");//将整数部分与小数部分分开 if(part[0].length>12) { alert("数字超出大小写转换范围(0.01----999999999999.99)"); return ""; } var num_ch=new Array("零","壹","贰","叁","肆","伍","陆","柒","捌","玖"); var z_unit=new Array("元","拾","佰","仟","萬","拾","佰","仟","億","拾","佰","仟"); var point=new Array("角","分","厘"); //整数部分数据处理 for(var i=0;i<part[0].length;i++) { ch_str+=num_ch[part[0].substring(i,i+1)]+z_unit[part[0].length-i-1]; } //小数部分数据处理 if(part.length>1) { if(part[1].length>2) { alert("数字超出大小写转换范围(0.01----999999999999.99)"); return ""; } for(var i=0;i<part[1].length;i++) { ch_str+=num_ch[part[1].substring(i,i+1)]+point[i]; } } //转化后的字符串处理 for(i=0;i<4;i++) { ch_str=ch_str.replace("零億","億"); ch_str=ch_str.replace("零萬","萬"); ch_str=ch_str.replace("零仟","零"); ch_str=ch_str.replace("零佰","零"); ch_str=ch_str.replace("零拾","零"); ch_str=ch_str.replace("零元","元"); ch_str=ch_str.replace("億萬","億"); ch_str=ch_str.replace("零零","零"); ch_str=ch_str.replace("零角","零"); ch_str=ch_str.replace("零分",""); ch_str=ch_str.replace("零厘",""); } if(ch_str.substring(ch_str.length-1)==("零")) ch_str=ch_str.substring(0,ch_str.length-1)+"整"; if(ch_str=="元整") ch_str="零元整"; return ch_str; }