有没有办法确保舍入功能总是四舍五入?

时间:2019-07-08 15:22:44

标签: access-vba

问题分为两部分。 1-我对查询中的列有一个简单的舍入函数,但在所有情况下都需要将其舍入。 2-此计算为每次计算产生多个记录

NumOfBoxes:圆形([Orders]。[Qty] / [PartsFinished]。[BoxQuantity],0)

对于多个记录,它会执行以下操作- 例如:order qty是1000,box qty是250,NumOfBoxes是4,但这将返回4条单独的行,而不是一行。如果计算结果为15,则返回15行。我不知道为什么。

3 个答案:

答案 0 :(得分:1)

使用 core方法进行四舍五入:

NumOfBoxes: -Int(-[Orders].[Qty]/[PartsFinished].[BoxQuantity])

您可能还希望在 Experts Exchange 上研究我的文章,并在 GitHub 上收集代码:

Rounding values up, down, by 4/5, or to significant figures

VBA.Round

如果您没有EE帐户,请浏览链接:阅读全文

答案 1 :(得分:0)

这应该有效:

Int(([Orders].[Qty] + [PartsFinished].[BoxQuantity] - 1)/[PartsFinished].[BoxQuantity])

Int会被截断,但实际上您添加的数字小于1,因此它将始终四舍五入,除非该数字正好是整数,在这种情况下将不会四舍五入。这可能是您要寻找的行为。

答案 2 :(得分:0)

要系统地舍入一个数字,只需使用round(number + 0,5)。您也可以使用ceil(number)。