【问题标题】:Extracting float number from string using javascript [duplicate]使用javascript从字符串中提取浮点数[重复]
【发布时间】:2016-05-13 08:21:40
【问题描述】:

我在 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 来说明问题。

编辑1

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

编辑2

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

更新fiddle

【问题讨论】:

标签: javascript html regex string floating-point


【解决方案1】:

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

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

【讨论】:

  • 不错的解决方案,但我可能会遇到这个问题,因为我有很多这类字符串,而且它们在间距方面并不完全相同。你当然不可能知道。为您的解决方案 +1。
【解决方案2】:

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

【讨论】:

    猜你喜欢
    • 2020-12-17
    • 2011-06-09
    • 2017-06-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-16
    相关资源
    最近更新 更多