C语言数据类型之间的转换
在编程过程中,常要将某种类型的数据转换成另—种特定的数据类型。例如,当要在文本框中显示某个变量的值时,如果该变量是数值类型,就需要将变量的值转换成字符串类型。例如,在程序段:
Dim MyDouble As Double
Dim MyString As String
MyDouble=437.327 MyDouble为双精度型
MyString=Cstr(MyDouble) MyString的值为“437.327”中,先将双精度型变量MyDouble的值转换成字符串,然后再赋给变量MyString。
下面给出了一些数据类型转换函数。
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
Cdee Decimal 无小数位数值时为+/一79 228 162 514 264 337 593 543 950 335,
28位小数时范围为+/一7.9228162514264337593543950335,
最小的可能非零值为0.O000。0。000000000000。00000001
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
Cvar Variant 若为数值,则范围与Double相同;若不为数值则范围与String相同
CStr String CStr的返回值依据表达式而定
如果传递给函数的“表达式”超过转换目标数据类型的范围,则发生错误。
通常,使用数据类型转换函数可使某些操作的结果表示为特定的数据类型,而不是默认的数据类型。例如,在进行单精度、双精度或整数运算时,使用CCur来强制执行货币运算。
当小数部分恰好为O.5时,cint和cImg函数将其转换为最接近的偶数值。例如,O.5转换为0,1.5转换为2。这与Fix和Int函数不同,Fix和Int函数会将小数部分截断而不是四舍五入,且Fix和Int函数总是返回与传入的数据类型相同的值。
使用1sDate函数,可判断date是否可以转换为日期或时间。cdate可用来识别日期文字和时间文字,以及落入可接受的日期范围内的数值。将一个数字转换成日期是将整数部分转换为日期,小数部分转换为从午夜算起的时间。 [Page]
CDate依据系统上的区域设置来决定日期的格式。如果提供的格式为不可识别的日期设置,则不能正确判断年、月、日的顺序。另外,长日期格式若包含有星期的字符串,则也不能被识别。首发中国自学编程网 www.zxbc.cn
{注}:cDec函数不能返回独立的数据类型,而总是返回一个Variant,其值已转换为Decimal类型。