Функции 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.
Исключения
Тип исключения |
Номер ошибки |
Условия |
---|---|---|
Число не указано. |
||
Число не является числовым типом. |
См. столбец "Номер ошибки", если выполняется обновление приложений 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)
Сводка по математическим функциям