如何转换数组中的数字字符串

时间:2017-06-14 12:06:32

标签: javascript jquery arrays numbers

a = ["5.0", 2.25, 3.0, "4.0"]如何获取a = [5.0, 2.25, 3.0, 4.0].

我可以获得a = [5, 2.25, 3, 4].,但我需要这样[5.0, 2.25, 3.0, 4.0]

任何人都可以帮助我。请,

由于

5 个答案:

答案 0 :(得分:2)

只需简单地映射Number的结果:



var a = ["5.0", "2.25", "3.0", "4.0"];

var b = a.map(Number);
console.log(b);




注意:

您无法保留05.0的{​​{1}},它不会是有效号码。

您可以使用Number保留它,但结果将是字符串:

.toFixed(1)

<强>演示:

&#13;
&#13;
var b = a.map(function(v){
    return Number(v).toFixed(1);
});
&#13;
&#13;
&#13;

答案 1 :(得分:0)

使用解析调用映射值:

&#13;
&#13;
var a = ["5.0", 2.25, 3.0, "4.0"];
var b = a.map(function(c) {
  return parseFloat(c.toString());
});
console.log(b);
&#13;
&#13;
&#13;

答案 2 :(得分:0)

JavaScript中的所有数字都是浮点数,但是当没有小数组件时,运行时不会显示小数,因为例如5.05的值完全相同

如果你真的想看到带有这个小数的数字,你可以将它们转换回字符串(用于显示)并使用 .toFixed() 方法控制精度,该方法适用于number,但返回一个字符串:

var a = ["5.0", 2.25, 3.0, "4.0"];

var b = a.map(Number);

b.forEach(function(num){
  console.log(num.toFixed(2));
});

答案 3 :(得分:0)

var a = ["5.0", 2.25, 3.0, "4.0"];

a.map(function(b){
    return parseFloat(b).toFixed(1)
})

答案 4 :(得分:0)

基本上,如果值为0,则Javascript在小数点后不返回任何值。您需要以编程方式执行此操作。

您可以使用parseFloat解析字符串,然后您可以使用此函数.toFixed().toString(),这样它将给出带小数点的数字,即使小数点后的0也是如此。