CInt
描述
返回表达式,此表达式已被转换为 Integer 子类型的 Variant。
语法
CInt(expression)
expression 参数是任意有效的表达式。
说明
通常,可以使用子类型转换函数书写代码,以显示某些操作的结果应被表示为特定的数据类型,而不是默认类型。例如,在出现货币、单精度或双精度运算的情况下,使用 CInt 或 CLng 强制执行整数运算。
CInt 函数用于进行从其他数据类型到 Integer 子类型的国际公认的格式转换。例如对十进制分隔符(如千分符)的识别,可能取决于系统的区域设置。
如果 expression 在 Integer 子类型可接受的范围之外,则发生错误。
--------------------------------------------------------------------------------
注意 CInt 与 Fix 和 Int 函数不同,后两者将数字的分数部分截尾取整,而不是四舍五入。当分数部分恰好为 0.5 时,CInt 函数通常将其四舍五入为最接近的偶数。例如,0.5 被四舍五入为 0,而1.5 被四舍五入为 2。
类型转换函数每个函数都可以强制将一个表达式转换成某种特定数据类型。
语法CBool(expression)
CByte(expression)
CCur(expression)
CDate(expression)
CDbl(expression)
CDec(expression)
CInt(expression)
CLng(expression)
CSng(expression)
CStr(expression)
CVar(expression)
CStr(expression)
必要的expression参数可以是任何字符串表达式或数值表达式。
返回类型函数名称决定返回类型,如下所示:
函数
返回类型
expression参数范围
CBool
Boolean
任何有效的字符串或数值表达式。
CByte
Byte
0 至 255。
CCur
Currency
-922,337,203,685,477.5808 至922,337,203,685,477.5807。
CDate
Date
任何有效的日期表达式。
CDbl
Double
负数从 -1.79769313486232E308 至 -4.94065645841247E-324;正数从 4.94065645841247E-324 至 1.79769313486232E308。
CDec
Decimal
零变比数值,即无小数位数值,为
+/-79,228,162,514,264,337,593,543,950,335。对于 28 位小数的数值,范围则为
+/-7.9228162514264337593543950335;最小的可能非零值是 0.0000000000000000000000000001。
CInt
Integer
-32,768 至 32,767,小数部分四舍五入。
CLng
Long
-2,147,483,648 至 2,147,483,647,小数部分四舍五入。
CSng
Single
负数为 -3.402823E38 至 -1.401298E-45;正数为 1.401298E-45 至 3.402823E38。
CStr
String
依据expression参数返回Cstr。
CVar
Variant
若为数值,则范围与Double相同;若不为数值,则范围与String相同。
说明如果传递给函数的expression超过转换目标数据类型的范围,将发生错误。
通常,在编码时可以使用数据类型转换函数,来体现某些操作的结果应该表示为特定的数据类型,而不是缺省的数据类型。例如,当单精度、双精度或整数运算发生的情况下,使用CCur来强制执行货币运算。
应该使用数据类型转换函数来代替Val,以使国际版的数据转换可以从一种数据类型转换为另一种。例如,当使用Ccur时,不同的小数点分隔符、千分位分隔符和各种货币选项,依据系统的国别设置都会被妥善识别。
当小数部分恰好为 0.5 时,Cint和CLng函数会将它转换为最接近的偶数值。例如,0.5 转换为 0、1.5 转换为 2。Cint和CLng函数不同于Fix和Int函数,Fix和Int函数会将小数部分截断而不是四舍五入。并且Fix和Int函数总是返回与传入的数据类型相同的值。
使用IsDate函数,可判断date是否可以被转换为日期或时间。Cdate可用来识别日期文字和时间文字,以及落入可接受的日期范围内的数值。当转换一个数字成为日期时,是将整数部分转换为日期,小数部分转换为从午夜起算的时间。
CDate依据系统上的国别设置来决定日期的格式。如果提供的格式为不可识别的日期设置,则不能正确判断年、月、日的顺序。另外,长日期格式,若包含有星期的字符串,也不能被识别。
CVDate函数也提供对早期 Visual Basic 版本的兼容性。CVDate函数的语法与CDate函数是完全相同的,不过,CVDate是返回一个Variant,它的子类型是Date,而不是实际的Date类型。因为现在已有真正的Date类型,所以CVDate也不再需要了。转换一个表达式成为Date,再赋值给一个Variant,也可以达到同样的效果。也可以使用这种技巧将其他真正的数据类型转换为对等的Variant子类型。
注意CDec函数不能返回独立的数据类型,而总是返回一个Variant,它的值已经被转换为Decimal子类型。