在javascript中从字符串中提取浮点数

时间:2014-02-07 18:15:02

标签: javascript jquery regex

我知道我们可以使用

从字符串中提取整数值
var x = "> 1";
x = parseInt(x.match(/\d+/)[0], 10));

如何从字符串中获取浮点值

示例:var x = "> 1.1"

我知道我们可以使用x.substring(2);

但是对于更通用的解决方案?因为上面的内容不会给出准确的结果

var x = "1.1"

那么从

中提取浮点值1.1的最佳方法是什么?
var x = "> 1.1"

4 个答案:

答案 0 :(得分:4)

使用parseFloat和与带可选小数和减号的数字匹配的正则表达式。

var f = parseFloat(x.match(/-?(?:\d+(?:\.\d*)?|\.\d+)/)[0]);

答案 1 :(得分:1)

x = parseFloat(x.match(/[-+]?([0-9]*\.[0-9]+|[0-9]+)/));

答案 2 :(得分:0)

使用parseFloat()。它完全符合您的要求。

答案 3 :(得分:0)

您可以尝试使用下面的一个,使用match函数将数字(例如浮点数或整数)提取为任意数量的数组。

str = 'On schedule: 3243.8 miles away (4491 minutes)';
values = str.match(/[0-9.]+/g); //=> ["3243.8", "4491"]