function chinese(num)
{
if(!/^/d*(/./d*)?$/.test(num)) throw(new error(-1, number is wrong!));
var aa = new array(零,壹,贰,叁,肆,伍,陆,柒,捌,玖);
var bb = new array(,拾,佰,仟,萬,億,圆,);
var cc = new array(角, 分, 厘);
var a = (+ num).replace(/(^0*)/g, ).split(.), k = 0, re = ;
for(var i=a[0].length-1; i>=0; i--)
{
switch(k)
{
case 0 : re = bb[7] + re; break;
case 4 : if(!new regexp(0{4}//d{+ (a[0].length-i-1) +}$).test(a[0]))
re = bb[4] + re; break;
case 8 : re = bb[5] + re; bb[7] = bb[5]; k = 0; break;
}
if(k%4 == 2 && a[0].charat(i)==0 && a[0].charat(i+2) != 0) re = aa[0] + re;
if(a[0].charat(i) != 0) re = aa[a[0].charat(i)] + bb[k%4] + re; k++;
}
if(a.length>1) //加上小数部分(如果有小数部分)
{
re += bb[6];
for(var i=0; i {
re += aa[a[1].charat(i)] + cc[i];
if(i==2) break;
}
if(a[1].charat(0)==0 && a[1].charat(1)==0)
{
re+=元整;
}
}
else
{
re+=元整;
}
return re;
}
输出结果:
2611 贰仟陆佰壹拾壹
2611.4 贰仟陆佰壹拾壹圆肆角
7300 柒仟叁佰元整
