从字符串中解析浮点数

时间:2014-10-16 09:04:03

标签: javascript jquery arrays regex

我想解析一个数组的浮点数如何:

var array = "-51.2132,0.3100";

我尝试使用match(/\d+/g),但我想要浮动

关于regex

的任何想法

提前致谢

4 个答案:

答案 0 :(得分:4)

此处不需要正则表达式。您可以先按,分割坐标以获取值,使用ParseFloat来投射它们。试试这个:

var loc = "-51.2132,0.3100".split(',');
var lat = parseFloat(loc[0]); // = -51.2132
var lon = parseFloat(loc[1]); // = 0.31

答案 1 :(得分:2)

试试这个:

var floats = array.split(',').map(function(e){return parseFloat(e)});
// result:
[-51.2132, 0.31]

这一行的作用是:首先,在逗号字符上分割array

array.split(',') // ["-51.2132", "0.3100"]

然后,用item替换该数组中的每个parseFloat(item)

["-51.2132", "0.3100"].map(function(e){ // For each item in the array
    return parseFloat(e); // Cast the current value to a float.
}); // [-51.2132, 0.31]

答案 2 :(得分:0)

(-?\d+(?:\.\d+)?)

试试这个。抓住比赛。见演示。

http://regex101.com/r/dZ1vT6/43

答案 3 :(得分:-1)

试试这个:

var array = "-51.2132,0.3100";
var regex = /-?\d+\.?\d*/g;
var items = array.match(regex);
var numbers = items.map(function (item) {
    return parseFloat(item);
});

http://regexr.com/39o6i