vba中数据类型转换_第1页
vba中数据类型转换_第2页
vba中数据类型转换_第3页
vba中数据类型转换_第4页
vba中数据类型转换_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、-. z.类型转换函数请参阅例如特性每个函数都可以强制将一个表达式转换成*种特定数据类型。语法CBool(e*pression)CByte(e*pression)CCur(e*pression)CDate(e*pression)CDbl(e*pression)CDec(e*pression)CInt(e*pression)CLng(e*pression)CLngLng(e*pression)只在 64 位平台上有效。CLngPtr(e*pression)CSng(e*pression)CStr(e*pression)CVar(e*pression)CStr(e*pression)必要的 e*p

2、ression参数可以是任何字符串表达式或数值表达式。返回类型函数名称决定返回类型,如下所示:函数返回类型e*pression 参数围CBool Boolean任何有效的字符串或数值表达式。CByteByte0 至 255。CCurCurrency-922,337,203,685,477.5808 至922,337,203,685,477.5807。CDateDate任何有效的日期表达式。CDblDouble 负数从 -1.231E308 至 -4.247E-324;正数从 4.247E-324 至 1.232E308。CDecDecimal零变比数值,即无小数位数值,为 +/-79,228,

3、162,514,264,337,593,543,950,335。对于 28 位小数的数值,围则为 +/-7.;最小的可能非零值是 0.。CIntInteger-32,768 至 32,767,小数局部四舍五入。CLngLong-2,147,483,648 至 2,147,483,647,小数局部四舍五入。CLngLngLongLong-9,223,372,036,854,775,808 到 9,223,372,036,854,775,807;小数局部四舍五入。只在 64 位平台上有效。CLngPtrLongPtr在 32 位系统上,为 -2,147,483,648 到 2,147,483,64

4、7;在 64 位系统上,为 -9,223,372,036,854,775,808 到 9,223,372,036,854,775,807;对于 32 位和 64 位系统,小数局部四舍五入。 CSngSingle负数为 -3.402823E38 至 -1.401298E-45;正数为 1.401298E-45 至 3.402823E38。CStrString依据 e*pression 参数返回 Cstr。CVarVariant假设为数值,则围与 Double 一样;假设不为数值,则围与 String 一样。说明如果传递给函数的 e*pression 超过转换目标数据类型的围,将发生错误。通常,在

5、编码时可以使用数据类型转换函数,来表达*些操作的结果应该表示为特定的数据类型,而不是缺省的数据类型。例如,当单精度、双精度或整数运算发生的情况下,使用 CCur 来强制执行货币运算。应该使用数据类型转换函数来代替 Val,以使国际版的数据转换可以从一种数据类型转换为另一种。例如,当使用 Ccur 时,不同的小数点分隔符、千分位分隔符和各种货币选项,依据系统的区域设置都会被妥善识别。当小数局部恰好为 0.5 时,Cint 和 CLng 函数会将它转换为最接近的偶数值。例如,0.5 转换为 0、1.5 转换为 2。Cint 和 CLng 函数不同于 Fi* 和 Int 函数,Fi* 和 Int 函

6、数会将小数局部截断而不是四舍五入。并且 Fi* 和 Int 函数总是返回与传入的数据类型一样的值。使用 IsDate 函数,可判断 date 是否可以被转换为日期或时间。Cdate 可用来识别日期文字和时间文字,以及落入可承受的日期围的数值。当转换一个数字成为日期时,是将整数局部转换为日期,小数局部转换为从午夜起算的时间。CDate 依据系统上的区域设置来决定日期的格式。如果提供的格式为不可识别的日期设置,则不能正确判断年、月、日的顺序。另外,长日期格式,假设包含有星期的字符串,也不能被识别。注意 CDec 函数不能返回独立的数据类型,而总是返回一个 Variant,它的值已经被转换为 Dec

7、imal 子类型。CBool 函数例如此例如使用 CBool 函数将表达式转换为 Boolean。如果表达式的值不为零,则 CBool 返回 True;否则,返回 False。Dim A, B, CheckA = 5:B = 5 初始化变量。Check = CBool(A = B) Check 包含 True。A = 0 定义变量。Check = CBool(A) Check 包含 False。CByte 函数例如此例如使用 CByte 函数将表达式转换为 Byte。Dim MyDouble, MyByteMyDouble = 125.5678 MyDouble 为 Double。MyByte

8、 = CByte(MyDouble) MyByte 包含 126。CCur 函数例如此例如使用 CCur 函数将表达式转换为 Currency。Dim MyDouble, MyCurrMyDouble = 543.214588 MyDouble 为 Double。MyCurr = CCur(MyDouble * 2) 将 MyDouble * 2 的结果 (1086.429176) 转换为 Currency (1086.4292)。CDate 函数例如此例如使用 CDate 函数将字符串转换为 Date。通常,建议不要将日期和时间硬编码为字符串如此例如中所示。请改为使用日期文字和时间文字,如

9、#2/12/1969# 和 #4:45:23 PM#。Dim MyDate, MyShortDate, MyTime, MyShortTimeMyDate = February 12, 1969 定义日期。MyShortDate = CDate(MyDate) 转换为 Date 数据类型。MyTime = 4:35:47 PM 定义时间。MyShortTime = CDate(MyTime) 转换为 Date 数据类型。CDbl 函数例如此例如使用 CDbl 函数将表达式转换为 Double。Dim MyCurr, MyDoubleMyCurr = CCur(234.456784) MyCur

10、r 为 Currency。MyDouble = CDbl(MyCurr * 8.2 * 0.01) 转换结果为 Double。CDec 函数例如此例如使用 CDec 函数将数字值转换为 Decimal。Dim MyDecimal, MyCurrMyCurr = 10000000.0587 MyCurr 为 Currency。MyDecimal = CDec(MyCurr) MyDecimal 为 Decimal。CInt 函数例如此例如使用 CInt 函数将值转换为 Integer。Dim MyDouble, MyIntMyDouble = 2345.5678 MyDouble 为 Doubl

11、e。MyInt = CInt(MyDouble) MyInt 包含 2346。CLng 函数例如此例如使用 CLng 函数将值转换为 Long。Dim MyVal1, MyVal2, MyLong1, MyLong2MyVal1 = 25427.45:MyVal2 = 25427.55 MyVal1、MyVal2 为 Double。MyLong1 = CLng(MyVal1) MyLong1 包含 25427。MyLong2 = CLng(MyVal2) MyLong2 包含 25428。CSng 函数例如此例如使用 CSng 函数将值转换为 Single。Dim MyDouble1, MyDouble2, MySingle1, MySingle2 MyDouble1、MyDouble2 为 Double。MyDouble1 = 75.3421115:MyDouble2 = 75.3421555MySingle1 = CSng(MyDouble1) MySingle1 包含 75.34211。MySingle2 = CSng(MyDouble2) MySingle2 包含 75.34216。CStr 函数例如此例如使用 CStr 函数将数字值转换为 String。Dim MyDouble, MyStringMyDouble = 437.324 MyDou

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论