问:如何在Access 2013中汇总号码?

ale*_*nsc 1 sql rounding ms-access-2013

对于Access 2013,我需要一种将所有小数四舍五入到SQL查询中的下一个整数的方法。

例:

SELECT ROUNDUP(NumberValues) FROM Table1
Run Code Online (Sandbox Code Playgroud)

在上面的查询中,查询后的1.25行应返回2。

据我所知,Access 2013中没有用于SQL查询语句的ROUNDUP函数。

ale*_*nsc 5

我从以下链接找到了等效的ROUNDUP:http : //allenbrowne.com/round.html#RoundUp

要向上舍入到下一个最大数字,请利用Int()将负数向下舍入的方式,如下所示:-Int(-[MyField])

如上所示,Int(-2.1)向下舍入为-3。因此,此表达式将2.1向上舍入为3。

要舍入到较高的分数,请乘以-100,取整,然后除以-100:Int(-100 * [MyField])/ -100

语法是违反直觉的,但它的工作原理与我预期的完全一样。


小智 5

我发现在 access 中对数字进行四舍五入的最简单方法是使用舍入函数,如下所示:

回合([我的场]+0.4,0)

例如,数字 10.1 将变为 10.5。应用舍入函数时,它会向上舍入到 11。如果数字是 10.9,则加上 0.4 就变成 11.3,从而向上舍入到 11。

  • 如果您处理的小数位数超过一位,我认为这不起作用。0.01 + 0.4 = 0.41,仍向下舍入。我想你可以使用 0.499999999... (2认同)