1 Val(strNum)
2 Isnumeric(strNum)

解决方案 »

  1.   

    Val()数字字符串转换成数值
    IsNumeric()判断是否是数字字符串
      

  2.   


    Val 函数
          返回包含于字符串内的数字,字符串中是一个适当类型的数值。语法Val(string)必要的 string 参数可以是任何有效的字符串表达式.说明Val 函数,在它不能识别为数字的第一个字符上,停止读入字符串。那些被认为是数值的一部分的符号和字符,例如美圆号与逗号,都不能被识别。但是函数可以识别进位制符号 &O(八进制)和 &H(十六进制)。空白、制表符和换行符都从参数中被去掉。下面的返回值为 1615198:Val("    1615 198th Street N.E.")在下面的代码中,Val 为所示的十六进制数值返回十进制数值 -1。Val("&HFFFF")注意 Val 函数只会将句点(.)当成一个可用的小数点分隔符。当使用不同的小数点分隔符时,如在国际版应用程序中,代之以 CDbl 来把字符串转换为数字。Val 函数示例
    本示例使用 Val 函数返回字符串中所含的数值。Dim MyValue
    MyValue = Val("2457")   ' 返回 2457。
    MyValue = Val(" 2 45 7")   ' 返回 2457。
    MyValue = Val("24 and 57")   ' 返回 24。
      

  3.   


    IsNumeric 函数
          返回 Boolean 值,指出表达式的运算结果是否为数。语法IsNumeric(expression)必要的 expression 参数是一个 Variant,包含数值表达式或字符串表达式。说明如果整个 expression 的运算结果为数字,则 IsNumeric 返回 True;否则返回 False。如果 expression 是日期表达式,则 IsNumeric 返回 False。
    IsNumeric 函数示例
    本示例使用 IsNumeric 函数判断变量的值是否可为数值。Dim MyVar, MyCheck
    MyVar = "53"   ' 指定值。
    MyCheck = IsNumeric(MyVar)   ' 返回 True。MyVar = "459.95"   ' 指定值。
    MyCheck = IsNumeric(MyVar)   ' 返回 True。MyVar = "45 Help"   ' 指定值。
    MyCheck = IsNumeric(MyVar)   ' 返回 False。
      

  4.   


    Str 函数
          返回代表一数值的 Variant (String)。语法Str(number)必要的 number 参数为一 Long,其中可包含任何有效的数值表达式。说明当一数字转成字符串时,总会在前头保留一空位来表示正负。如果 number 为正,返回的字符串包含一前导空格暗示有一正号。使用 Format 函数可将数值转成必要的格式,如日期、时间、货币或其他用户自定义格式。与 Str 不同的是,Format 函数不包含前导空格来放置 number 的正负号。注意   Str 函数只视句点 (.) 为有效的小数点。如果使用不同的小数点(例如,国际性的应用程序),可使用 CStr 将数字转成字符串。
    Str 函数示例
    本示例使用 Str 函数来将一个数字转成字符串。当数字转成字符串时,字符串的第一个位一定是空格或是正负号。Dim MyString
    MyString = Str(459)   ' 返回 " 459"。
    MyString = Str(-459.65)   ' 返回 "-459.65"。
    MyString = Str(459.001)   ' 返回 " 459.001"。
     
    类型转换函数
          每个函数都可以强制将一个表达式转换成某种特定数据类型。语法
    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 子类型。
    CStr 函数示例
    本示例使用 CStr 函数将一数值转换为 String。Dim MyDouble, MyString
    MyDouble = 437.324   ' MyDouble 为 Double 类型。
    MyString = CStr(MyDouble)   ' MyString 的内容为“437.324”。