我如何只获得javascript中的数字

时间:2018-06-06 09:42:55

标签: javascript regex

我有像

这样的字符串
11.7 km

我需要得到只有int(11.7),我怎么能用JavaScript做到这一点?

感谢。

7 个答案:

答案 0 :(得分:3)

尝试使用parseInt()。 例如:

var string = "11.7 km";
alert(parseInt(string));

这会警告:“11”。

在你的情况下,你有一个浮动,所以你可以使用:

alert(parseFloat(string));

这会发出“11.7”警告。

ParseFloat reference

ParseInt reference

答案 1 :(得分:2)

您可以通过传递replace 表达式作为参数来使用regex方法。

console.log('11.7 km'.replace(/[^0-9.]/g, ''));

答案 2 :(得分:1)

试试这个。

var numbers = distance.replace(/[^0-9.]/g,'');
alert(numbers);

答案 3 :(得分:0)

您可以使用parseFloat('11.7km')这将返回11.7

答案 4 :(得分:0)

你也可以使用它。



console.log(Number(("11.7 km").replace(/[^\d.-]/g, '')));




答案 5 :(得分:0)

您可以使用的解决方案是Regular Expression,使用匹配功能:

your_text = "11.7 km";
r = new RegExp("\\d|\\.","g");
matched_number = your_text.match(r);
number = matched_number.join("");
number_float = parseFloat(number)

答案 6 :(得分:0)

此正则表达式将匹配字符串中的所有数值,而不管值之前或之后的文本。

var str = "11.7 km\n" +
  "Text before 11.7 km\n" +
  "11.7 km Text after\n" +
  "Text before 11.7 km Text after\n";
  
var matches = str.match(/(\.\d*)*\d+(\.\d*)*/igm).map(parseFloat);

console.log('string "' + str + '" has ' + matches.length + " matches:");

console.log(matches);