CVI
 
使用二进制副本将单精度浮点数或字符串转换为整数变量

语法

Declare Function CVI ( ByVal sng As Single ) As Integer
Declare Function CVI ( ByRef str As Const String ) As Integer
Declare Function CVI<bits> ( expr As DataType ) As Integer<bits >

用法

result = CVI( sng )
result = CVI( str )
result = CVI<bits >( expr )

参数

sng
一个Single浮点数,其中存储有整数变量的二进制副本。
str
一个存储在其中的整数变量的二进制副本的String.
bits
指定要返回的整数类型的大小。接受的expr 的类型和大小将取决于所调用的相应函数。
expr
将被复制到Integer<bits >的表达式。

返回值

包含输入表达式的二进制副本的IntegerInteger<bits >变量。

说明

使用SingleString中包含的二进制数据返回整数值。如果字符串包含的字符数少于返回类型的大小,则返回值为零(0)。

CVI用于转换使用MKI创建的字符串。

此函数也可用于从内存或文件缓冲区中转换32位整数值,而不需要Type结构。但是,与类型结构一样,使用CVI转换已从缓冲区中读取的字符串时,应特别小心。

CVI在参数之前支持可选的<bits >参数。如果bits 16CVShort将被调用;如果bits 32CVL将被调用;如果bits 64CVLongInt将被调用。返回类型和接受的参数类型将取决于调用哪个函数。有关详细信息,请参阅每个功能的页面。

例子

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 >参数。

参考