2015-03-13 76 views
0

我有这样的计算:3 * 12300/160.结果是:230.625。但我只想整数部分,230将变量舍入为整数

在C中,这可以利用像这样做:int MyVar = (int)3*12300/160;

是否有VBA的方式(用MS-接入)为力的结果是一个整数?

+0

https://duckduckgo.com/?q=vba+arrondir+nombre+entier – 2015-03-13 11:29:59

回答

2

您可以使用Int or Fix functions进行舍入。

既然你知道你想要的结果是一个整数,你应该将结果存储在一个Long类型的变量中(或者如果你绝对肯定它会小于32768),那么将它存储在Integer中。

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