我有一个功能,用户可以输入“5”,“10”,“0.47”,“0.5”等数字。
而且,每当用户输入数据时,数据就会保存在一个数组中。

我正在使用以下代码在数组中添加所有数字:

    $scope.uTotal = uMiles.reduce(addPrice, 0)

        function addPrice(a, b) {
            return a + b;
        }

上面的代码成功地将所有数字相加,但是如果用户输入十进制值,则不会添加十进制值。

例如:

当前数组中的值在下面,这是通过执行 console.log 收集的:

运行上述功能后,屏幕上的输出为:

总计= 5

但实际上它应该显示总计= 6.88

无论用户输入多少数字,我如何确保其加起来并准确地显示在前面。

最佳答案

在函数内部使用 parseFloat() ,您应该会很好:

function addPrice(a, b)
{
    return a + parseFloat(b);
}

09-11 00:17