Excel VBA: как округлить число в меньшую сторону, используя разные методы

В Excel VBA нет встроенной функции «floor» для округления числа до ближайшего целого числа. Однако одного и того же результата можно добиться, используя различные методы. Вот несколько методов с примерами кода:

Метод 1: использование функции Int

Dim num As Double
Dim result As Double
num = 10.5 ' The number you want to round down
result = Int(num) ' Using the Int function to round down
Debug.Print result ' Output: 10

Метод 2. Использование функции исправления

Dim num As Double
Dim result As Double
num = 10.5 ' The number you want to round down
result = Fix(num) ' Using the Fix function to round down
Debug.Print result ' Output: 10

Метод 3. Использование функции Floor из объекта WorksheetFunction

Dim num As Double
Dim result As Double
num = 10.5 ' The number you want to round down
result = WorksheetFunction.Floor(num, 1) ' Using the Floor function from WorksheetFunction
Debug.Print result ' Output: 10

Метод 4. Использование целочисленного деления

Dim num As Double
Dim result As Double
num = 10.5 ' The number you want to round down
result = num \ 1 ' Using integer division to round down
Debug.Print result ' Output: 10

Метод 5. Использование функции округления вниз с отрицательной точностью

Dim num As Double
Dim result As Double
num = 10.5 ' The number you want to round down
result = WorksheetFunction.RoundDown(num, 0) ' Using the RoundDown function with negative precision
Debug.Print result ' Output: 10