gpt4 book ai didi

Javascript - 查找平均价格(即四舍五入)的准确方法是什么?

转载 作者:行者123 更新时间:2023-11-30 10:18:09 26 4
gpt4 key购买 nike

我有 24 个价格,一天中的每个小时一个价格,我需要找到它们的平均值(日平均值)。

但是,我无法正确计算平均价格,而且我找不到关于如何在 Javascript 中计算平均价格/四舍五入小数的准确算法。每个方法(parseFloat、toFixed())似乎偶尔会产生不准确的结果。

有谁知道在 Javascript 中计算平均价格/四舍五入的准确方法?我不只是在谈论仅适用于以下价格数组的东西,而是适用于任何价格(小数)数组的东西......

这是我现在拥有的。它在 Chrome 中返回 178.00。但它应该返回 178.01。

// Rounding Function
function roundDecimal(value) {
return Number(Math.round(value+'e2')+'e-2');
};

var priceSum = 0;
var prices = [23.4,24.4,24.68,25,25.1,30.81,851.19,646.47,659.24,707.7,759.23,124.69,37.93,53.25,23.4,23.8,23.4,23.4,50.57,37.78,25,24.55,23.4,23.73]

for(var x = 0; x < prices.length; x ++) {
priceSum = priceSum + prices[x];
console.log(priceSum);
};

var priceAverage = roundDecimal( priceSum / prices.length );

console.log("Daily Average is: "+priceAverage);

最佳答案

请引用这个问题https://stackoverflow.com/a/588014/536984

JavaScript float 学不适合进行财务计算,最好以美分表示价格,这样就没有小数

var array = [2340, 2440, 2468, 2500, 2510, 3081, 85119, 64647, 65924, 70770, 75923, 12469, 3793, 5325, 2340, 2380, 2340, 2340, 5057, 3778, 2500, 2455, 2340, 2373];

Math.round(array.reduce(function (a, b) { return a + b }) / array.length)

关于Javascript - 查找平均价格(即四舍五入)的准确方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22740488/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com