index是1,2,3阿拉伯数字。但需求是显示一,二,三,四等汉字。switch case就没有必要去实现了,
有一种简易的方式,用到字符串的方法chartAt(),但只适用10以内。
设置初始值的时候设置一个汉字的字符串 Han = '一二三四五六七八九十'
然后在使用的时候 Han.chart(index) ,就可以拿到对应的汉字。
如果需要适用于所有的阿拉伯数字转汉字,那就需要封装出一个函数来实现功能
function SectionToChinese(section){
var chnNumChar = ["零","一","二","三","四","五","六","七","八","九"];
var chnUnitChar = ["","十","百","千","万","亿","万亿","亿亿"];
var strIns = '', chnStr = '';
var unitPos = 0;
var zero = true;
while(section > 0){
var v = section % 10;
if(v === 0){
if(!zero){
zero = true;
chnStr = chnNumChar[v] + chnStr;
}
}else{
zero = false;
strIns = chnNumChar[v];
strIns += chnUnitChar[unitPos];
chnStr = strIns + chnStr;
}
unitPos++;
section = Math.floor(section / 10);
}
return chnStr;
}
SectionToChinese(1234); //'一千二百三十四'