您的位置:首页 > 理论基础 > 计算机网络

js人民币大小写转换(代码来源网络)

2016-04-14 10:45 591 查看
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) * 4
var str = numArray[i].substring(strIndex, strIndex + 4)
var start = i ? 2 : str.length - 1
var 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]
}


调用方法如:

chineseNumber(100);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: