使用二进制副本将单精度浮点数或字符串转换为整数变量
语法
用法
result = CVI( sng )
result = CVI( str )
result = CVI<bits >( expr )
参数
sng
str
bits
指定要返回的整数类型的大小。接受的expr 的类型和大小将取决于所调用的相应函数。
expr
返回值
说明
使用
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 >参数。
参考