2015-03-13 4 views
0

У меня есть расчет: 3 * 12300/160. Результат: 230.625. Но я просто хочу целую часть, 230.Округление переменной на целое число

В C, это может быть сделано с помощью что-то вроде этого: int MyVar = (int)3*12300/160;

Есть ли способ в VBA (с MS-Access) для силы в результате быть целое число?

+0

https://duckduckgo.com/?q=vba+arrondir+nombre+entier –

ответ

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

Смежные вопросы