87,904
社区成员
发帖
与我相关
我的任务
分享
<script language="javascript"> function chineseNumber(num) { if (isNaN(num) || num > Math.pow(10, 12)) return ""var cn = "零壹贰叁肆伍陆柒捌玖"var unit = new Array("拾百千", "分角") var unit1= new Array("万亿", "") var numArray = num.toString().split(".") var start = new Array(numArray[0].length-1, 2) function toChinese(num, index) { var num = num.replace(/\d/g, function ($1) { return cn.charAt($1)+unit[index].charAt(start--%4 ? start%4 : -1) }) return num } for (var i=0; i<numArray.length; i++) { var tmp = ""for (var j=0; j*4<numArray[i].length; j++) { var strIndex = numArray[i].length-(j+1)*4var str = numArray[i].substring(strIndex, strIndex+4) var start = i ? 2 : str.length-1var tmp1 = toChinese(str, i) tmp1 = tmp1.replace(/(零.)+/g, "零").replace(/零+$/, "") tmp1 = tmp1.replace(/^壹拾/, "拾") tmp = (tmp1+unit1[i].charAt(j-1)) + tmp } numArray[i] = tmp } numArray[1] = numArray[1] ? numArray[1] : ""numArray[0] = numArray[0] ? numArray[0]+"元" : numArray[0], numArray[1] = numArray[1].replace(/^零+/, "零") numArray[1] = numArray[1].match(/分/) ? numArray[1] : numArray[1]+"整"return numArray[0]+numArray[1] } alert(chineseNumber(100006012.05)); </script>
function parseChinese(n) {
var c = ["零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖"];
var p = ["分","角","元","拾","百","千","万","拾","百","千","亿","拾","百","千"];
var temp = (/^(0|[1-9])\d*(\.\d+)?$/).test(n)? n : null;
var i = -1;
var result = null;
if(temp) {
temp = parseFloat(temp).toFixed(2);
i = (/\.\d+$/).test(temp)? -1 : 1;
result = temp.toString().replace(/\./g, "").split("").reverse().join("").replace(/\d/g, function(a) {i++; return p[i] + c[a]}).split("").reverse().join("").replace(/零(千|百|拾|角)/g, "零").replace(/(零)+/g, "零").replace(/(千|百|拾)零(元|万|亿)/g,"$1$2").replace(/(亿零)万/g, "$1").replace(/(万零)元/g, "$1").replace(/(零)+/g, "零").replace(/(亿)零(元)/g, "$1$2").replace(/元((零角)*零分|)$/g, "元整");
}
return result;
}
alert(parseChinese(100006012.05));
return (numArray[0]+numArray[1]).replace(/^零/,"").replace(/亿万/,"亿")
给成就完事了
return (numArray[0]+numArray[1]).replace(/^零/,"").replace(/亿万/,"亿零"
)function DX(n) { //金额大写转换函数
if (!/^(0|[1-9]\d*)(\.\d+)?$/.test(n))
return "数据非法";
var unit = "千百拾亿千百拾万千百拾元角分", str = "";
n += "00";
var p = n.indexOf('.');
if (p >= 0)
n = n.substring(0, p) + n.substr(p+1, 2);
unit = unit.substr(unit.length - n.length);
for (var i=0; i < n.length; i++)
str += '零壹贰叁肆伍陆柒捌玖'.charAt(n.charAt(i)) + unit.charAt(i);
return str.replace(/零(千|百|拾|角)/g, "零").replace(/(零)+/g, "零").replace(/零万/g,"零").replace(/零(万|亿|元)/g, "$1").replace(/(亿)万|壹(拾)/g, "$1$2").replace(/^元零?|零分/g, "").replace(/元$/g, "元整");
}
alert(DX(100006012.05));