经典指数          
原因
626
浏览数
0
收藏数
 

编程实现将中文的“贰仟零伍亿叁佰扒拾万零叁拾”转换为“200503800030”,语言不限。

     举报   纠错  
 
切换
1 个答案
function getNumb(str) {     var obj = {"亿": 100000000,"万": 10000,"仟":1000,"佰":100,"拾":10,"壹":1,"贰": 2,"叁": 3,"肆": 4,"伍": 5,"陆": 6,"柒": 7,"捌": 8,"玖": 9},         arr = str.replace(/(零|佰|^)拾/g, "$1壹拾").replace(/零/g, "").split(/(亿|万|仟|佰|拾)/).filter(function (a) {return a != ""}),         a = 0, l = 0, f,n;     for (var i = 0; i < arr.length;i = i + 2 ) {         f = arr[i],n = arr[i + 1];         if (/亿|万/.test(f)) {             a += l * obj[f];l = 0;             i --;         }else if (/亿|万/.test(n)) {             a += (l + obj[f]) * obj[n];l = 0;         } else {             l += obj[f] * (obj[n] ? obj[n] : 1);         }     }     return a + l; }
 
切换
撰写答案
扫描后移动端查看本题