Skip to content

Instantly share code, notes, and snippets.

@metaphox
Created April 26, 2010 16:50
Show Gist options
  • Select an option

  • Save metaphox/379575 to your computer and use it in GitHub Desktop.

Select an option

Save metaphox/379575 to your computer and use it in GitHub Desktop.
function convertToChinese(num) {
num=''+num;
var ret='', ret2='', zero='';
var nWord=['零','一','二','三','四','五','六','七','八','九','十'];
var unitWord=['','十','百','千'], unitWord2=['','萬','億','兆'];
var rWord=[[/^一十/, '十']];
var n=num.replace(/\D/g,'').split('');
for(var i=0;i<n.length;i++) {
if(Math.floor((n.length-i-1)/4)>=unitWord2.length) {
ret2+= nWord[n[i]];
continue;
}
if(n[i]==0)
zero=nWord[0];
else {
ret+= (ret==''&&ret2==''?'':zero) + nWord[n[i]] + unitWord[(n.length-i-1)%4];
zero='';
}
if((n.length-i-1)%4==0) {
if(ret!='') ret2+= ret+unitWord2[Math.floor((n.length-i-1)/4)];
zero='';
ret='';
}
}
for(var i=0;i<rWord.length;i++)
ret2=ret2.replace(rWord[i][0], rWord[i][1]);
return ret2;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment