如何将十进制值四舍五入到最接近的整数值?

问题描述 投票:4回答:3

在报告中,我有一个字段的以下代码:

=Sum([PartQty]*[ModuleQty])

示例结果是2.12.6。我需要的是将这些值四舍五入到3的值。如何更改我的域代码以始终对我当前表达式的结果进行舍入?

ms-access ms-access-2003
3个回答
1
投票

你能做到的

=Int(Sum([PartQty]*[ModuleQty]))+1

我认为。这将获得总和(2)的Int部分,然后加1.你可能需要更聪明一点,因为这可能会给你3即使总和正好是2,这可能不是你想要的。

没有测试它,但沿着这些方面的东西可能会工作(访问语法不是那么好,但应该给你正确的想法):

Iif(Sum([PartQty]*[ModuleQty])-Int(Sum([PartQty]*[ModuleQty]))=0,
     Sum([PartQty]*[ModuleQty]),
     Int(Sum([PartQty]*[ModuleQty]))+1)

4
投票

这是我很久以前学过的旧的Access技巧,它利用Access处理小数,负数的方式。试试这个:

-Int(-[DecimalValue])

这很奇怪,但它总是将你的数字四舍五入到最接近的整数。


1
投票

测试:圆形(你的数字+ 0.5,0)

© www.soinside.com 2019 - 2024. All rights reserved.