我想将这些类型的值转换为“300万”,“24万”,“35万”等等.在任何
JavaScript(所以我可以做客户端)或PHP(服务器端).有这个功能吗?像PHPs strtotime()函数?
input output
3 million 3000000
24 thousand 24000
350 thousand 350000
最佳答案 你想把它们结合起来吗?
function convert(num) {
return num.match(/(\d+)( ?\w* ?)/g).map(mapGroups)
.reduce(function(p,c){return p+c;});
function mapGroups(str){
if (/million/.test(str)){
return str.match(/\d+/)[0] * 1000000;
}
if (/thousand/.test(str)){
return str.match(/\d+/)[0] * 1000;
}
if (/hundred/.test(str)){
return str.match(/\d+/)[0] * 100;
}
return +str;
}
}
convert("3 million 240 thousand 7 hundred 54"); //3240754
convert("5 millions 7 hundreds 54"); //5000754
这是非常基本的,但你确实掌握了.