将字符串数组转换为数字数组Jquery

时间:2014-11-20 00:00:18

标签: jquery arrays

我有几个字符串格式的数字数组,如:

A = ["1046.7779999999038", "1106.244999999035", "833.5839999999735"]

我想进一步使用数字格式的数字进行某些计算,并且需要数字格式,这样我就有了数组。

我想使用parseInt,但这似乎不太正确。也许我需要先拆分我的阵列?理想情况下,我想要一个具有数组作为输入的函数,并将其转换为数字格式的相同数组。

有人可以帮我吗?

6 个答案:

答案 0 :(得分:2)

您可以在阵列的每个成员上调用parseFloat()

答案 1 :(得分:2)

使用parseFloat function解析浮点数。

您可以使用map method将数组中的所有字符串解析为数组:

A = $.map(A, function(s){ return parseFloat(s); });

答案 2 :(得分:1)

使用parseFloat:

function convert(arr){
    var ret=[];
    for(i in arr){
    ret.push (parseFloat(I));
    }
    return ret;
}

答案 3 :(得分:0)

让一个单独的数组B存储您的所有数字转换。

var convert = function() {
    for(var i=0;i<A.length< i++){
        B[i]=Number(A[i]);
    }
  }

答案 4 :(得分:0)

尝试

$.each(A, function(i, el) {
  A[i] = Number(el)
});

&#13;
&#13;
var A = ["1046.7779999999038", "1106.244999999035", "833.5839999999735"];

$.each(A, function(i, el) {
  A[i] = Number(el)
});

console.log(typeof (A[0] && A[1] && A[2]) === "number", A)
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
&#13;
&#13;
&#13;

答案 5 :(得分:0)

正如其他人所说,parseFloat()是您要使用的转换功能。要在不创建新临时数组的情况下转换数组,可以使用for循环或.forEach()迭代器循环遍历数组并转换元素:

for (var i = 0; i < A.length; i++) {
    A[i] = parseFloat(A[i]);
}

A.forEach(function(value, index) {
    A[index] = parseFloat(value);
});