使用javascript从字符串中提取浮点数

时间:2016-05-13 08:21:40

标签: javascript html regex string floating-point

我在javascript中有一个字符串:

ECTS: 7.5 pts

从这个字符串中我需要提取7.5并将其解析为浮点值..

我尝试过搜索,但我发现的解决方案都没有。我试过了:

var regex = /^\d+\.\d{0,3}$/;
var string = "ECTS: 7.5 pts";
var number = parseFloat(string.match(regex));
console.log("number is: " + number);

我尝试了几种不同的正则表达式,但没有一种能够完成这一操作。

我已创建此fiddle来说明问题。

EDIT1

我曾经将此/\d+/作为我的正则表达式,但这并不包含浮点数。

EDIT2

我最终将此作为我的正则表达式/[+-]?\d+(\.\d+)?/g

更新了fiddle

2 个答案:

答案 0 :(得分:2)

这很好用,不需要正则表达式:

var s = "ECTS: 7.5 pts";
var n = parseFloat(s.split(" ")[1]);
$("#test").text(n);

答案 1 :(得分:1)

你试过这个吗? var digits = Number((/(\d+\.\d+)/.exec('ECTS: 7.5 pts') || []).pop());