Функции Int и Fix (Visual Basic)

Обновлен: Ноябрь 2007

Возвращают целую часть числа.

Public Shared Function Int( _
    ByVal Number As { Double | Integer | Long | Object | Short | Single | Decimal }) _
    As { Double | Integer | Long | Object | Short | Single | Decimal }
Public Shared Function Fix( _
    ByVal Number As { Double | Integer | Long | Object | Short | Single | Decimal }) _
    As { Double | Integer | Long | Object | Short | Single | Decimal }

Параметры

  • Number
    Обязательный параметр. Число типа Double или любое допустимое числовое выражение. Если Number равен Nothing, то возвращается Nothing.

Исключения

Тип исключения

Номер ошибки

Условия

ArgumentNullException

5

Число не указано.

ArgumentException

5

Число не является числовым типом.

См. столбец "Номер ошибки", если выполняется обновление приложений Visual Basic 6.0, в которых используется неструктурированная обработка ошибок. (Можно сравнить номер ошибки с Свойство Number (объект Err).) Однако по возможности следует заменять такую обработку ошибок на Обзор структурной обработки исключений в Visual Basic.

Заметки

Как функция Int, так и функция Fix отбрасывают дробную часть числа и возвращают полученную целую часть Number.

Различие между Int и Fix состоит в том, что если Number отрицательно, то Int возвращает первое отрицательное число, меньшее или равное Number, тогда как Fix возвращает первое отрицательное число, большее или равное Number. Например, функция Int преобразует –8,4 в –9, а функция Fix — в –8.

Fix(number) эквивалентно Sign(number) * Int(Abs(number)).

Пример

В этом примере описывается возврат функциями Int и Fix целой части чисел. Если аргумент представляет собой отрицательное число, то функция Int возвращает первое целое отрицательное число, меньшее или равное значению аргумента, а функция Fix — первое целое отрицательное число, большее или равное значению аргумента. В следующем примере необходимо указать Option Strict Off, поскольку неявные преобразования из типа Double к типу Integer не допускаются при Option Strict On:

' This code requires Option Strict Off
Dim MyNumber As Integer
MyNumber = Int(99.8)   ' Returns 99.
MyNumber = Fix(99.8)   ' Returns 99.

MyNumber = Int(-99.8)  ' Returns -100.
MyNumber = Fix(-99.8)  ' Returns -99.

MyNumber = Int(-99.2)  ' Returns -100.
MyNumber = Fix(-99.2)  ' Returns -99.

Можно использовать функцию CInt для явного преобразования других типов данных для ввода к типу Integer при Option Strict Off. Однако при использовании функции CInt выполняется округление до ближайшего целого числа вместо отбрасывания дробной части. Пример.

MyNumber = CInt(99.8)    ' Returns 100.
MyNumber = CInt(-99.8)   ' Returns -100.
MyNumber = CInt(-99.2)   ' Returns -99.

Функцию CInt можно использовать, чтобы явно преобразовать результат вызова Fix или Int к целому числу, не выполняя округления. Пример.

MyNumber = CInt(Fix(99.8))   ' Returns 99.
MyNumber = CInt(Int(99.8))   ' Returns 99.

Дополнительные сведения о функции CInt см. в разделе Функции преобразования типов.

Требования

Пространство имен:Microsoft.VisualBasic

**Модуль:**Conversion

**Сборка:**Visual Basic (библиотека времени выполнения, в Microsoft.VisualBasic.dll)

См. также

Ссылки

Функции преобразования типов

Тип данных Integer (Visual Basic)

Сводка по математическим функциям

Математические функции (Visual Basic)

Сводка преобразования

ArgumentNullException