Преобразует число с плавающей запятой одинарной точности или строку в
целочисленную переменную используя бинарную копию
Синтаксис
Использование
result = CVI( sng )
result = CVI( str )
result = CVI<bits>( expr )
Параметры
sng
Single число с
плавающей запятой с копией двоичной целочисленной переменной
хранящейся в нем.
str
String с копией
двоичной целочисленной переменной хранящейся в ней.
bits
Указывает размер возвращаемого целого типа. Типы и
размеры expr будут зависеть от соответствующей
вызываемой функции.
expr
Выражение, которое будет скопировано в
Integer<bits>.
Возвращаемое значение
Integer или
Integer<bits>
переменная, содержащая двоичную копию входного выражения.
Описание
Возвращает целое значение, используя двоичные данные, содержащиеся в
Single,
или
String. Возвращается значение
ноль (0) если строка содержит меньше символов, чем размер возвращаемого
типа.
CVI используется для преобразования строки, созданной с помощью
MKI.
Эта функция также может использоваться для преобразования 32-битных
целочисленных значений из памяти или файлового буфера без необходимости
структуры
Type. Однако как и с типом
структуры, особое внимание должны приниматься при использовании
CVI
для преобразования строк, считываемых из буфера.
CVI поддерживает необязательный параметр
<bits>
перед аргументом. Если
bits =
16,
CVShort
будет вызываться; Если
bits =
32,
CVL
будет вызываться; Если
bits =
64,
CVLongInt
будет вызываться. Тип возвращаемого значения и типы принятых аргументов
будут зависеть от того, какая функция вызывается. Смотрите страницу каждой
функции для получения дополнительной информации.
Пример
Dim i As Integer, s As String
s = "ABCD"
i = CVI(s)
Print Using "s = ""&"""; s
Print Using "i = _&H&"; Hex(i)
Различия диалектов
- В диалекте -lang qb, CVI
ожидает строку 2 байта, так как целое число в QB только 16 бит.
Используются только первые два байта строки, даже если строка
окажется длиннее, чем два байта.
- В диалекте -lang qb, CVI
не будет принимать аргумент с плавающей запятой, так как целое число в QB только
16 бит и нет 16-битного типа данных с плавающей запятой. Вместо этого, CVI<32>/CVI<64>
или CVL/CVLongInt
может быть использован.
Отличия от QB
- В QB возникает ошибка, если передаваемая строка меньше чем в два байта
в длину.
- QB не поддерживает аргументы с плавающей запятой.
- QB не поддерживает параметр <bits>.
См. также