金额数字大写转换

转载请注明链接:

//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;
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值