如何将十进制字符串数组转换为不带小数的整数字符串数组,反之亦然

时间:2017-07-24 12:57:37

标签: javascript

我想实现以下目标。如何获得所需的输出如下?

var arr=["1.00","-2.5","5.33333","8.984563"]

    Desired output: arr=["1","-2","5","8"]

    and vice-versa float to int.

3 个答案:

答案 0 :(得分:1)

您可以保存标志,将地板应用于绝对值,将标志放回并将结果转换为字符串。将整个内容映射到一个新数组。

反之亦然不起作用,因为您在使用整数时丢失了信息。

var array = ["1.00", "-2.5", "5.33333", "8.984563"],
    result = array.map(v => ((v >= 0 || -1) * Math.floor(Math.abs(v))).toString());

console.log(result);

答案 1 :(得分:0)

var arr=["1.00","-2.5","5.33333","8.984563"]
arr.forEach(function (item, index, array) {
    array[index] = parseInt(item)
})

答案 2 :(得分:0)

var arr=["1.00","-2.5","5.33333","8.984563"]

var output = arr.map(n => Math[n < 0 ? "ceil":"floor"](n).toString() ) 

console.log( output )

使用Math.ceil()为负数舍入到最接近零的值,使用Math.floor()舍入为正数。