我有几个字符串格式的数字数组,如:
A = ["1046.7779999999038", "1106.244999999035", "833.5839999999735"]
我想进一步使用数字格式的数字进行某些计算,并且需要数字格式,这样我就有了数组。
我想使用parseInt,但这似乎不太正确。也许我需要先拆分我的阵列?理想情况下,我想要一个具有数组作为输入的函数,并将其转换为数字格式的相同数组。
有人可以帮我吗?
答案 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)
});
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;
答案 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);
});