将变量舍入为整数

时间:2015-03-13 11:20:09

标签: vba ms-access integer

我有这样的计算:3 * 12300/160。结果是:230.625。但我只想要整数部分,230。

在C中,可以使用以下内容完成此操作:int MyVar = (int)3*12300/160;

在VBA(使用MS-Access)中是否有办法强制结果为整数?

1 个答案:

答案 0 :(得分:2)

您可以使用Int or Fix functions向下舍入。

由于您知道所需的结果是一个整数,因此您应该将结果存储在Long类型的变量中(或Integer如果您绝对肯定它将始终更小比32768)。

Dim l As Long
l = Int(3 / 160 * 12300) ' <~~~~ Yes, I switched the numbers around on purpose!*
MsgBox "l = " & l    

enter image description here

*为什么我要切换数字?因为表达式3 * 12300 / 160将在VBA中引发错误。请在此处阅读原因:Overflow when multiplying Integers and assigning to Long