<script>
/**
作者:newskyline(小天)
数字转换成汉字
@param {int} num 待转换的数字
*/
function zhuan(num){
num = parseInt(num);
if(isNaN(num))return '';
var MAP = '零十百千万十百千亿十百千万十百千'.split('');
var countMap = 1;
var countLen = num.toString().length;
return num.toString().replace(/(\d?)/g,
function($0,$1){
var HAN = '零一二三四五六七八九'.split('');
var rValue;
var idxMap = countLen - countMap;
if($1!=0){
rValue = HAN[parseInt($1)];
}else if($1==0 && num.toString().split('')[idxMap]!='0'){
rValue = '零'; // to do
}else{
rValue = ''; // to be confirmed
}
if(idxMap < MAP.length && $1!=0){
rValue += MAP[idxMap];
}
countMap++;
return rValue;
}
).replace(/零+$/,'');
}
alert(zhuan(011234567890123));
</script>
注:许多情况都没有考虑到,以上代码需要完善。
(本帖被作者修改过2次,最后一次修改时间2008-01-31 13:00:44) |