从字符串中获取所有数字,带小数

时间:2015-01-19 15:16:00

标签: javascript

我需要转换' KM1 + 000.321'到1000.321。

我试过这个

var string = 'KM1+000.321';

console.log(parseInt(string.replace(/\D/g, ''), 10)) //1000321

但是这也删除了小数。如何编写保留小数的表达式?

http://jsfiddle.net/bbn80knc/

2 个答案:

答案 0 :(得分:1)

假设只有一个小数,this will work

var string = 'KM1+000.321';
console.log(parseFloat(string.replace(/[^\d.]/g, ''))) //1000.321

注意,您需要使用parseFloat而非parseInt来获取小数。

答案 1 :(得分:0)

  1. 要替换除数字和小数点以外的所有数字,请使用

    string.replace(/ [^ \ d。] / g,'')

  2. 要转换为带分数的数字,您不能使用parseInt(),而是使用parseFloat():

    parseFloat(string.replace(/ [^ \ d。] / g,''))