我需要转换' KM1 + 000.321'到1000.321。
我试过这个
var string = 'KM1+000.321';
console.log(parseInt(string.replace(/\D/g, ''), 10)) //1000321
但是这也删除了小数。如何编写保留小数的表达式?
答案 0 :(得分:1)
假设只有一个小数,this will work:
var string = 'KM1+000.321';
console.log(parseFloat(string.replace(/[^\d.]/g, ''))) //1000.321
注意,您需要使用parseFloat
而非parseInt
来获取小数。
答案 1 :(得分:0)
要替换除数字和小数点以外的所有数字,请使用
string.replace(/ [^ \ d。] / g,'')
要转换为带分数的数字,您不能使用parseInt(),而是使用parseFloat():
parseFloat(string.replace(/ [^ \ d。] / g,''))