js将金额转换成大写
function ConvertDataTo(str) { var tmpstr = ""; var rstr = ""; var sp = str.split('.'); var str = sp[0]; var strlen = str.length; if (strlen <= 4)//数字长度小于四位 { rstr = ConvertDigit(str); if (rstr.substr(rstr.length - 1, 1) == "零") { rstr = rstr.substr(0, rstr.length - 1); } } else { if (strlen <= 8)//数字长度大于四位,小于八位 { tmpstr = str.substr(strlen - 4, 4); //先截取最后四位数字 rstr = ConvertDigit(tmpstr); //转换最后四位数字 tmpstr = str.substr(0, strlen - 4); //截取其余数字 //将两次转换的数字加上万后相连接 rstr = ConvertDigit(tmpstr) + "万" + rstr; rstr = rstr.replace("零万", "万"); rstr = rstr.replace("零零", "零"); } else if (strlen <= 12)//数字长度大于八位,小于十二位 { tmpstr = str.substr(strlen - 4, 4); //先截取最后四位数字 rstr = ConvertDigit(tmpstr); //转换最后四位数字 tmpstr = str.substr(strlen - 8, 4); //再截取四位数字 rstr = ConvertDigit(tmpstr) + "万" + rstr; tmpstr = str.substr(0, strlen - 8); rstr = ConvertDigit(tmpstr) + "億" + rstr; rstr = rstr.replace("零億", "億"); rstr = rstr.replace("零万", "零"); rstr = rstr.replace("零零", "零"); rstr = rstr.replace("零零", "零"); } } strlen = rstr.length; if (strlen >= 2) { switch (rstr.substr(strlen - 2, 2)) { case "佰零": rstr = rstr.substr(0, strlen - 2) + "佰"; break; case "仟零": rstr = rstr.substr(0, strlen - 2) + "仟"; break; case "万零": rstr = rstr.substr(0, strlen - 2) + "万"; break; case "億零": rstr = rstr.substr(0, strlen - 2) + "億"; break; } } if (sp.length == 1) { rstr = rstr + "元整"; } else { if (rstr.length > 0) { rstr = rstr + "元"; } } if (sp.length == 2) { rstr += ConvertXiaoShu(sp[1]); } return rstr; } /// /// 转换数字(小数部分) /// /// 需要转换的小数部分数字字符串 /// 转换成中文大写后的字符串 function ConvertXiaoShu(str) { var strlen = str.length; var rstr; if (strlen == 1) { rstr = ConvertChinese(str) + "角"; return rstr; } else if (strlen == 2) { var tmpstr = str.substr(0, 1); rstr = ConvertChinese(tmpstr) + "角"; tmpstr = str.substr(1, 1); rstr += ConvertChinese(tmpstr) + "分"; rstr = rstr.replace("零分", ""); rstr = rstr.replace("零角", ""); return rstr; } else if (strlen == 3) { var tmpstr = str.substr(0, 1); rstr = ConvertChinese(tmpstr) + "角"; tmpstr = str.substr(1, 1); rstr += ConvertChinese(tmpstr) + "分"; tmpstr = str.substr(2, 1); rstr += ConvertChinese(tmpstr) + "厘"; rstr = rstr.replace("零分", ""); rstr = rstr.replace("零角", ""); rstr = rstr.replace("零厘", ""); return rstr; } } /// /// 转换数字 /// /// 转换的字符串(四位以内) /// function ConvertDigit(str) { var strlen = str.length; var rstr = ""; switch (strlen) { case 1: rstr = ConvertChinese(str); break; case 2: rstr = Convert2Digit(str); break; case 3: rstr = Convert3Digit(str); break; case 4: rstr = Convert4Digit(str); break; } rstr = rstr.replace("拾零", "拾"); strlen = rstr.length; return rstr; } /// /// 转换四位数字 /// function Convert4Digit(str) { var str1 = str.substr(0, 1); var str2 = str.substr(1, 1); var str3 = str.substr(2, 1); var str4 = str.substr(3, 1); var rstring = ""; rstring += ConvertChinese(str1) + "仟"; rstring += ConvertChinese(str2) + "佰"; rstring += ConvertChinese(str3) + "拾"; rstring += ConvertChinese(str4); rstring = rstring.replace("零仟", "零"); rstring = rstring.replace("零佰", "零"); rstring = rstring.replace("零拾", "零"); rstring = rstring.replace("零零", "零"); rstring = rstring.replace("零零", "零"); rstring = rstring.replace("零零", "零"); return rstring; } /// /// 转换三位数字 /// function Convert3Digit(str) { var str1 = str.substr(0, 1); var str2 = str.substr(1, 1); var str3 = str.substr(2, 1); var rstring = ""; rstring += ConvertChinese(str1) + "佰"; rstring += ConvertChinese(str2) + "拾"; rstring += ConvertChinese(str3); rstring = rstring.replace("零佰", "零"); rstring = rstring.replace("零拾", "零"); rstring = rstring.replace("零零", "零"); rstring = rstring.replace("零零", "零"); return rstring; } /// /// 转换二位数字 /// function Convert2Digit(str) { var str1 = str.substr(0, 1); var str2 = str.substr(1, 1); var rstring = ""; rstring += ConvertChinese(str1) + "拾"; rstring += ConvertChinese(str2); rstring = rstring.replace("零拾", "零"); rstring = rstring.replace("零零", "零"); return rstring; } /// /// 将一位数字转换成中文大写数字 /// function ConvertChinese(str) { //"零壹贰叁肆伍陆柒捌玖拾佰仟万億圆整角分" var cstr = ""; switch (str) { case "0": cstr = "零"; break; case "1": cstr = "壹"; break; case "2": cstr = "贰"; break; case "3": cstr = "叁"; break; case "4": cstr = "肆"; break; case "5": cstr = "伍"; break; case "6": cstr = "陆"; break; case "7": cstr = "柒"; break; case "8": cstr = "捌"; break; case "9": cstr = "玖"; break; } return (cstr); }