Съдържание

# Функция Round [VBA]

Закръглява числова стойност до зададен брой знаци след десетичната запетая.

Тази константа, функция или обект се разрешава с оператора Option VBASupport 1, поставен преди изпълнимия програмен код в модула.

Тази функция следва правилото за закръгляване, известно като „закръгляване до четно“. То гласи, че когато разликата между закръгляваното число и най-близкото цяло число е равна на 0,5, числото се закръглява до най-близкото четно число. За да научите повече, вижте примерите по-долу.

Имайте предвид, че функцията Round на VBA се различава от функцията Round на LibreOffice Calc. В Calc, ако разликата между закръгляваното число и най-близкото цяло число е точно 0,5, числото се закръглява нагоре. Така в Calc числото 2,5 се закръглява на 3, а с функцията Round на VBA стойността 2,5 се закръглява на 2 заради правилото „закръгляване до четно“.

### Синтаксис:

Round(expression [,numdecimalplaces])

### Тип на резултата:

Double

### Параметри:

expression: числовият израз, който да бъде закръглен.

numdecimalplaces: незадължителен аргумент, който указва броя знаци след десетичната запетая в закръглената стойност. Подразбираната стойност е 0.

### Кодове за грешка:

5 Невалидно извикване на процедура

### Пример:

        Option VBASupport 1
        Sub Example_Round
            Dim r
            r = Pi
            print r ' 3,14159265358979
            print Round(r, 5) ' 3,14159
            r = exp(1)
            print r ' 2,71828182845904
            print Round(r) ' 3
        End Sub

Следващите примери илюстрират правилото „закръгляване до четно“:

        ' Закръгляване към най-близкото цяло число (decimalplaces = 0)
        MsgBox Round(3.5) ' 4
        MsgBox Round(4.5) ' 4
        MsgBox Round(5.5) ' 6
        MsgBox Round(6.5) ' 6
        ' Закръгляване с два знака след десетичната запетая (decimalplaces = 2)
        MsgBox Round(1.555, 2) ' 1.56
        MsgBox Round(1.565, 2) ' 1.56
        MsgBox Round(1.575, 2) ' 1.58
        MsgBox Round(1.585, 2) ' 1.58

Теми, свързани с показаната

Функция ROUND в Calc

Математически функции на VBA

Моля, подкрепете ни!