【发布时间】:2016-08-28 18:46:06
【问题描述】:
我计划编写一个允许对网页进行评级系统的第 3 方脚本,但我只希望它嵌入的每个网页在数据库中占据一行(或者更准确地说是一个文档,因为我正在使用NoSQL 路由)。我的评分伪代码如下所示:
function update(page, rate) {
collection.get({
page: page
}, function callback(err, doc) {
if (!err) {
var rating = doc.rating,
votes = doc.votes;
collection.update({
page: page
}, {
votes: votes + 1,
rating: (rating * votes + rate) / (votes + 1) // here's the iffy part
});
}
});
}
有没有办法改进算法以避免浮点值的截断错误,或者这首先不是问题?
【问题讨论】:
-
JS数不都是浮点数吗?
-
是的,他们是...我在问这个程序是否会随着时间的推移累积截断错误,因为每次更新发生时它都会乘以平均值并除以总数。
标签: javascript algorithm floating-accuracy nosql