精华内容
下载资源
问答
  • VB中各种数据类型转换函数 HEX STRING
  • vb类型转换函数VB中各种数据类型转换函 数
  • VB类型转换函数

    2012-11-06 12:45:43
    VB类型转换函数,各种数据类型的相互转换函数。
  • VB 数据类型转换函数

    千次阅读 2008-04-22 16:03:00
    Str(x) 将数值数据x转换成字符串Val(x) 将字符串x中的数字转换成数值Chr(x) 返回以x为ASCII码的字符Asc(x) 给出字符x的ASCII码值,十进制数Cint(x) 将数值型数据x的小数部分四舍五入取整Int(x) 取小于等于x的...
    Str (x)  ' 将数值数据x转换成字符串

    Val (x)  ' 将字符串x中的数字转换成数值

    Chr (x)  ' 返回以x为ASCII码的字符

    Asc (x)  ' 给出字符x的ASCII码值,十进制数

    Cint (x)  ' 将数值型数据x的小数部分四舍五入取整

    Int (x)  ' 取小于等于x的最大整数

    Fix (x)  ' 将数值型数据x的小数部分舍去

    CBool (x)  ' 将任何有效的数字字符串或数值转换成逻辑型

    CByte (x)  ' 将0-255之间的数值转换成字节型

    CDate (x)  ' 将有效的日期字符串转换成日期

    CCur(x) 
    ' 将数值数据x转换成货币型

    Round (x,N)  ' 在保留N位小数的情况下四舍五入取整

    CStr (x)  ' 将x转换成字符串型

    CVar(x) 
    ' 将数值型数据x转换成变体型

    CSng (x)  ' 将数值数据x转换成单精度型

    CDbl (x)  ' 将数值数据x转换成双精度型
     
    展开全文
  • vb.net类型转换函数

    2017-08-10 17:08:21
    程序设计过程中经常会遇到不同数据类型之间的转换,比如说要将“Date”类型显示在文本框中,必须先进行类型转换,将其转换为...因此Visual Basic提供了一定的类型转换函数,例如用“CStr”函数将操作数转换成“Strin

    程序设计过程中经常会遇到不同数据类型之间的转换,比如说要将“Date”类型显示在文本框中,必须先进行类型转换,将其转换为“string”类型。虽然Visual Basic本身能进行一定的类型转换,但这种转换是有限制的,而且这种隐含的类型转换存在不稳定的因素,对程序的可读性、可维护性都有一定的影响。因此Visual Basic提供了一定的类型转换函数,例如用“CStr”函数将操作数转换成“String”:
    strDate=CStr(DateAndTime.Now)中华考试网(www.Examw。com)
    下表列出了常用的类型转换函数:

    转换函数返回值对表达式的要求
    CBoolBoolean任何字符串及数字类型
    CByteByte0到255
    CCharChar0到65535
    CDateDate任何合法的日期及时间
    CDb1Double负数为-1.79769313486231E308到-4.94065645841247E-324;
    正数为4.94065645841247E-324到1.79769313486231E308
    CDecDecimal无小数点的整数范围是-79228162514264337593543950335到79228162514264337593543950335
    CIntInteger从-2147483.648至2147483.648;允许分数,小数部分采取四舍五入的原则
    CLongLong-9223372036854775.808至9223372036854775.807;允许分数,小数部分采取四舍五入的原则
    CObjObject任何合法的表达式
    CShortShort-32768至32767;允许分数,小数部分采取四舍五入的原则
    CSngSingle负数为-3.402823E38到-1.401298E-45;
    正数为1.401298E-45到3.402823E38
    CStrString可以是“Boolean”类型,返回“True”或“False”;也可以是“Date”类型,返回日期的缩写形式;或者是数字类型,返回代表这个数字的字符串。
    展开全文
  • VB基本函数; 数据类型转换函数; 字符串处理函数; 注册表读写函数 ; .......
  • 这样的字符串转换为一个数值,这就需要数据类型转换。 一、隐式转换和显示转换 隐式转换就是程序运行期间自行转换类型,不需要人为干预;而显示转换要求编译前指定由哪种类型转换成哪种类型,在代码书写中很容易识...

    每个值都有与之关联的类型,此类型定义分配给该值的空间大小,许多值可以表示为多种类型。例如,值 4 可以表示为整数或浮点值。在编程时,可能只需要整数,那么就得把小数转换为整数,有时可能还需要把类似"4"这样的字符串转换为一个数值,这就需要数据类型转换。
    一、隐式转换和显示转换
    隐式转换就是程序运行期间自行转换类型,不需要人为干预;而显示转换要求编译前指定由哪种类型转换成哪种类型,在代码书写中很容易识别。
    下面的代码采用隐式转换:

            '隐式转换成功
            Dim int1 As Integer = Integer.MaxValue.ToString
            Dim lng1 As Long = int1
    
            '隐式转换失败,抛出错误
            Dim lng2 As Long = Long.MaxValue
            Dim int2 As Integer = lng2
    

    Dim int1 As Integer = Integer.MaxValue.ToString需要把字符串转换成数值,Dim lng1 As Long = int1需要把 Integer类型转换成Long,都能隐式转换成功,而Dim int2 As Integer = lng2因为lng2的值超出了Integer数据类型的最大值,所以引发错误,转换失败。测试结果如图:
    在这里插入图片描述
    再看下面代码:

        Sub Main()
            Dim str As String
            Dim int As Integer
            Console.WriteLine("请输入数字:")
            str = Console.ReadLine()
            int = str
            Console.WriteLine("您输入的数字是:" & int)
        End Sub
    

    当输入为数字时,程序正常运行,数据类型转换成功。如图:
    在这里插入图片描述
    但也许有人就是不按提示输入,偏偏输入了非数字的字符串,比如输入字母“A”,则会抛出错误,如图:
    在这里插入图片描述
    这种错误的发生是断断续续的,很难检查。
    二、编程好习惯
    编程前,先在“项目设计器”的“编译”页面进行如图所示的设置:
    在这里插入图片描述
    或者在代码最顶端增加以下代码:

    Option Strict On
    Option Infer Off
    Option Explicit On
    Module Module1
    
    End Module
    

    如图:
    在这里插入图片描述
    我们可以看到同样的代码这会无法通过编译,提示不能隐式转换,如图:
    在这里插入图片描述
    再来看一段代码:

    Module Module1
        Sub Main()
            Dim intl As Integer
            Int1 = 10
        End Sub
    End Module
    

    当Option Explicit设置为OFF时,代码可以编译运行,但提示——未使用的局部变量:“intl”,代码中画绿色的波浪线,如图:
    在这里插入图片描述
    当然你一眼就会发现书写变量名错了,把字母l写成了数字1了,若是有几万的代码行,你再去找出这样的错误就难喽!
    当Option Explicit设置为ON,Option Infer设置为OFF时,多了一条提示,如图:
    在这里插入图片描述
    这样就能很快发现是哪里出错。
    Option Explicit:指定是否允许隐式声明变量。默认情况下,此选项设置为 “On”以要求显式声明变量;如果变量在使用前没有声明,此设置会导致编译器报告错误。 选择 “Off”可允许隐式声明变量。
    Option Strict:指定是否允许许可类型语义。默认情况下,此选项设置为 “Off”,表示允许许可类型语义。 选择 “On”可以限制隐式类型转换,即要求显式收缩转换并且不允许后期绑定。
    Option Infer:指定是否允许变量声明中的局部类型推理。默认情况下,此选项设置为 “On”,表示允许使用局部类型推理。 选择 “Off”可阻止局部类型推理。
    Option Explicit设置为ON的话必须同时把Option Infer设置为OFF,否则效果会互相抵消。这样做的好处多多,就不再一一举例说明了。
    三、 使用System .Convert 类的方法进行类型转换
    System .Convert 类可以将一个基本数据类型转换为另一个基本数据类型。
    Convert 类提供了一种与语言无关的方式来执行基类型之间的转换,并且该类可用于面向公共语言运行时的所有语言。
    Convert 类的静态方法用于支持与 .NET Framework 的基础数据类型之间的转换。 受支持的基类型是 Boolean、 Char、 SByte、 Byte、 Int16、 Int32、 Int64、 UInt16、 UInt32、 UInt64、 Single、 Double、 Decimal、 DateTime 和 String。
    Convert 类的方法代码格式为:Convert.To+数据类型(要转换的值);
    如:Convert.ToInt32(“32”)。
    上面的代码因为把Option Strict设置为On,会抛出一个错误,修改为如下代码:

            Dim str As String
            Dim int As Integer
            Console.WriteLine("请输入数字:")
            str = Console.ReadLine()
            int = Convert.ToInt32(str)
            Console.WriteLine("您输入的数字是:" & int)
    

    当输入非数字时和隐式转换一样会抛出一个运行时错误,所以即使使用显式的类型转换,也要注意对错误的处理。代码如下:

            Dim str As String
            Dim int As Integer
    line:   Console.WriteLine("请输入数字:")
            str = Console.ReadLine()
            Try
                int = Convert.ToInt32(str)
            Catch
                GoTo line
            End Try
    
            Console.WriteLine("您输入的数字是:" & int)
    

    只要输入的是非数字就会要求重新输入,如图:
    在这里插入图片描述
    抛砖引玉,看官可以举一反三进行其他类型的转换。
    以下内容来源于帮助页:
    根据运行时基类型和目标基类型的值,对特定转换方法的实际调用会产生五种结果之一。这五种结果如下:
    1、无转换。当尝试将一个类型转换为其本身时(如使用 Int32 类型参数调用 Convert .ToInt32(Int32) )会发生这种情况。 在这种情况下,此方法只是返回原始类型实例。
    2、一个 InvalidCastException。 当不支持特定转换时会发生这种情况。
    以下转换会引发 InvalidCastException:
    将 Char 转换为 Boolean、 Single、 Double、 Decimal 或 DateTime。
    将 Boolean、 Single、 Double、 Decimal 或 DateTime 转换为 Char。
    将 DateTime 转换为 String 以外的任何其他类型。
    将 String 以外的任何其他类型转换为 DateTime。
    3、一个 FormatException。 当由于字符串格式不正确而导致将字符串值转换为任何其他基类型的尝试失败时,会发生该异常。
    以下转换会引发该异常:
    要转换为 Boolean 值的字符串不等于 Boolean .TrueString 或 Boolean .FalseString 。
    要转换为 Char 值的字符串由多个字符组成。
    要转换为任何数值类型的字符串没有被识别为有效数字。
    要转换为 DateTime 的字符串没有被识别为有效日期和时间值。
    4、转换成功。对于前面结果中未列出的两个不同基类型之间的转换,所有扩大转换和不会导致数据丢失的收缩转换都将成功,此方法将返回目标基类型的值。
    5、一个 OverflowException。 当收缩转换导致数据丢失时会发生这种情况。例如,尝试将值为 10000 的 Int32 实例转换为 Byte 类型会引发 OverflowException,因为 10000 超出了 Byte 数据类型的范围。
    注意:如果数字类型转换导致精度丢失(即某些最低有效位丢失),不引发异常。但是,如果结果超出了特定转换方法的返回值类型所能表示的范围,则将引发异常。例如,当将 Double 转换为 Single 时,可能会发生精度丢失,但并不引发异常。 但是,如果 Double 的值太大,无法由 Single 表示,则将引发溢出异常。
    旧版本的VB6.0里如Cstr的类型转换函数在VB.NET中还是可以用的,不过为了兼容其他语言程序员的感受,建议使用Convert类来进行基本类型之间的转换。
    四、Parse和TryParse方法
    大多数的值类型,至少在.NET Framework中的值类型,都具有两个静态分析方法(Parse 和 TryParse),可以使用它们将字符串转换为指定的值类型。
    特别说明:Parse 和 TryParse方法只能用于值类型,也就是说只能把字符串转换为相应的值类型。
    使用Parse方法时,如果数据不能转换会抛出一个运行时错误。如:

            Dim str As String
            Dim int As Integer
    line:   Console.WriteLine("请输入数字:")
            str = Console.ReadLine()
            Try
                int = Integer.Parse(str)
            Catch
                GoTo line
            End Try
    
            Console.WriteLine("您输入的数字是:" & int)
    

    使用TryParse方法可以免去捕获错误语句,因为他有两个参数,返回一个布尔值,表示转换是否成功,如果转换成功,就会把新值存储在该方法的第二个参数。如:

            Dim str As String
            Dim int As Integer
            Dim bln As Boolean
    line:   Console.WriteLine("请输入数字:")
            str = Console.ReadLine()
            bln = Integer.TryParse(str, int)
            If bln Then
                Console.WriteLine("您输入的数字是:" & int)
            Else
                GoTo line
            End If
    

    在不确定是否能转换成功,而又想省去错误捕获代码的建议使用TryParse方法。
    五、DirectCast和TryCast方法
    DirectCast和TryCast方法是基于继承或实现的类型转换操作。仅适用于引用类型,不适用于值类型。如:

            '转换失败
            Dim q As Object = 2.37
            Dim i As Integer = CType(q, Integer)
            Dim j As Integer = DirectCast(q, Integer)
    
            '转换成功
            Dim f As New System.Windows.Forms.Form
            Dim c As System.Windows.Forms.Control
            c = DirectCast(f, System.Windows.Forms.Control)
    

    第一个 DirectCast 在运行时失败是因为 Double 的运行时类型与 Integer 没有继承关系(值类型)。 第二个 DirectCast 成功是因为它从 Form 类型转换为 Control 类型,而 Form 继承自该类型(引用类型)。
    TryCast方法不会引发错误,如果转换失败则返回Nothing。如:

            Dim f As New System.Windows.Forms.Form
            Dim c As System.Windows.Forms.Control = TryCast(f, System.Windows.Forms.Control)
            If c Is Nothing Then
                MessageBox.Show("转换失败!")
            End If
    

    六、CType 函数
    CType 函数可以说是全能的类型转换函数,即适用于值类型,也适用于引用类型。工作方式与DirectCast方法类似。
    CType(expression, typename)
    参数:expression——任何有效的表达式。如果 expression 的值超出 typename 允许的范围,Visual Basic 将引发异常。
    typename——任何在 Dim 语句的 As 子句内合法的表达式,即任何数据类型、对象、结构、类或接口的名称。
    测试代码如:

            '值类型
            Dim q As Object = 2.37
            Dim i As Integer = CType(q, Integer)
            'Dim j As Integer = DirectCast(q, Integer)
    
            '引用类型
            Dim f As New System.Windows.Forms.Form
            Dim c As System.Windows.Forms.Control
            Dim d As System.Windows.Forms.Control
            c = CType(f, System.Windows.Forms.Control)
            d = DirectCast(f, System.Windows.Forms.Control)
    

    七、Object.ToString 方法
    Object.ToString 方法可以将其他类型数据转换成字符串数据类型。每个从 System.Object 派生的类型都自动继承无参数的 ToString 方法,该方法在默认情况下以字符串的形式返回对象的名称或值类型数据的值。如:

            Dim int As Integer = 10
            Dim bln As Boolean = True
            Dim obj As New Object
            Console.WriteLine(int.ToString)
            Console.WriteLine(bln.ToString)
            Console.WriteLine(obj.ToString)
    

    返回结果如图:
    在这里插入图片描述

    展开全文
  • VB.NET中的转换和数据类型转换

    千次阅读 2020-09-12 17:20:05
    vb.net 数据类型转换 Casting is the process of converting one data type to another, for example, from an Integer type to a String type. Some operations in VB.NET require specific data types to work. ...

    Casting is the process of converting one data type to another, for example, from an Integer type to a String type. Some operations in VB.NET require specific data types to work. Casting creates the type you need. The first article in this two-part series, Casting and Data Type Conversions in VB.NET, introduces casting. This article describes the three operators you can use to cast in VB.NET - DirectCast, CType and TryCast - and compares their performance.

    强制转换是将一种数据类型转换为另一种数据类型的过程 ,例如,从整数类型转换为字符串类型。 VB.NET中的某些操作需要特定的数据类型才能工作。 转换会创建您需要的类型。 这个由两部分组成的系列文章的第一篇文章VB.NET中的转换和数据类型转换介绍了转换。 本文介绍了可用于在VB.NET中进行转换的三个运算符-DirectCast,CType和TryCast-并比较了它们的性能。

    Performance is one of the big differences between the three casting operators according to Microsoft and other articles. For example, Microsoft is usually careful to warn that, "DirectCast ... can provide somewhat better performance than CType when converting to and from data type Object." (Emphasis added.)

    根据Microsoft和其他文章,性能是这三个铸造运营商之间的最大差异之一。 例如,Microsoft通常会小心警告:“ 在与数据类型Object进行相互转换时 ,DirectCast ...可以提供比CType更好的性能。” (强调)。

    I decided to write some code to check.

    我决定编写一些代码进行检查。

    But first a word of caution. Dan Appleman, one of the founders of the technical book publisher Apress and a reliable technical guru, once told me that benchmarking performance is much harder to do correctly than most people realize. There are factors like machine performance, other processes that might be running in parallel, optimization like memory caching or compiler optimization, and errors in your assumptions about what the code is actually doing. In these benchmarks, I have tried to eliminate "apples and oranges" comparison errors and all tests have been run with the release build. But there still might be errors in these results. If you notice any, please let me know.

    但是首先要提请注意。 丹·阿普尔曼(Dan Appleman)是技术书籍出版商Apress的创始人之一,并且是可靠的技术专家。他曾经告诉我,基准测试的性能要比大多数人意识到的要难得多。 这些因素包括机器性能,可能并行运行的其他进程,优化(例如内存缓存或编译器优化)以及您对代码实际作用的假设错误。 在这些基准测试中,我尝试消除了“苹果和橘子”的比较错误,并且所有测试都在发布版本中运行。 但是这些结果中可能仍然存在错误。 如果您发现任何问题,请告诉我。

    The three casting operators are:

    这三个铸造运算符是:

    • DirectCast

      DirectCast
    • CType

      C类型
    • TryCast

      试播

    In practical fact, you will usually find that the requirements of your application will determine which operator you use. DirectCast and TryCast have very narrow requirements. When you use DirectCast, the type must already be known. Although the code ...

    实际上,您通常会发现应用程序的需求将确定您使用的操作员。 DirectCast和TryCast具有非常狭窄的要求。 当您使用DirectCast时,必须已经知道类型。 虽然代码...

    theString = DirectCast(theObject, String)

    theString = DirectCast(theObject,String)

    ... will compile successfully if theObject isn't a string already, then the code will throw a runtime exception.

    如果对象不是字符串,则...将成功编译,然后代码将引发运行时异常。

    TryCast is even more restrictive because it won't work at all on "value" types such as Integer. (String is a reference type. For more on value types and reference types, see the first article in this series.) This code ...

    TryCast的限制更为严格,因为它根本不适用于“值”类型,例如整数。 (字符串是一种引用类型。有关值类型和引用类型的更多信息,请参见本系列的第一篇文章。)此代码...

    theInteger = TryCast(theObject, Integer)

    theInteger = TryCast(theObject,Integer)

    ... won't even compile.

    ...甚至不会编译。

    TryCast is useful when you're not sure what type of object you're working with. Rather than throwing an error like DirectCast, TryCast just returns Nothing. The normal practice is to test for Nothing after executing TryCast.

    当您不确定所使用的对象类型时,TryCast很有用。 与其引发DirectCast之类的错误,TryCast只返回Nothing。 通常的做法是在执行TryCast之后不进行任何测试。

    Only CType (and the other "Convert" operators like CInt and CBool) will convert types that don't have an inheritance relationship such as an Integer to a String:

    只有CType(以及其他“转换”运算符,例如CInt和CBool​​)会将没有继承关系的类型(例如整数)转换为字符串:

    Dim theString As String = "1"
    Dim theInteger As Integer
    theInteger = CType(theString, Integer)

    This works because CType uses "helper functions" that aren't part of the .NET CLR (Common Language Runtime) to perform these conversions.

    之所以可行,是因为CType使用不属于.NET CLR(公共语言运行时)一部分的“帮助函数”来执行这些转换。

    But remember that CType will also throw an exception if theString doesn't contain something that can be converted to an Integer. If there's a possibility that the string isn't an integer like this ...

    但是请记住,如果theString不包含可以转换为Integer的内容,则CType也会引发异常。 如果字符串不是这样的整数...

    Dim theString As String = "George"

    ... then no casting operator will work. Even TryCast won't work with Integer because it's a value type. In a case like this, you would have to use validity checking, such as the TypeOf operator, to check your data before trying to cast it.

    ...那么没有铸造工人将工作。 即使TryCast也不能与Integer一起使用,因为它是一种值类型。 在这种情况下,您必须先使用有效性检查(例如TypeOf运算符)来检查数据,然后再尝试对其进行强制转换。

    Microsoft's documentation for DirectCast specifically mentions casting with an Object type so that's what I used in my first performance test. Testing begins on the next page!

    Microsoft的DirectCast文档特别提到了使用Object类型进行转换,这就是我在第一次性能测试中所使用的。 测试从下一页开始!

    DirectCast will usually use an Object type, so that's what I used in my first performance test. To include TryCast in the test, I also included an If block since nearly all programs that use TryCast will have one. In this case, however, it will never be executed.

    DirectCast通常将使用对象类型,因此这就是我在第一次性能测试中使用的类型。 为了在测试中包含TryCast,我还包含了一个If块,因为几乎所有使用TryCast的程序都将包含一个。 但是,在这种情况下,它将永远不会执行。

    Here's the code that compares all three when casting an Object to a String:

    这是在将对象转换为字符串时比较所有三个代码的代码:

    Dim theTime As New Stopwatch()
    Dim theString As String
    Dim theObject As Object = "An Object"
    Dim theIterations As Integer =
    CInt(Iterations.Text) * 1000000
    '
    ' DirectCast Test
    theTime.Start()
    For i = 0 To theIterations
    theString = DirectCast(theObject, String)
    Next
    theTime.Stop()
    DirectCastTime.Text =
    theTime.ElapsedMilliseconds.ToString
    '
    ' CType Test
    theTime.Restart()
    For i As Integer = 0 To theIterations
    theString = CType(theObject, String)
    Next
    theTime.Stop()
    CTypeTime.Text =
    theTime.ElapsedMilliseconds.ToString
    '
    ' TryCast Test
    theTime.Restart()
    For i As Integer = 0 To theIterations
    theString = TryCast(theObject, String)
    If theString Is Nothing Then
    MsgBox("This should never display")
    End If
    Next
    theTime.Stop()
    TryCastTime.Text =
    theTime.ElapsedMilliseconds.ToString

    This initial test seems to show that Microsoft is right on target. Here's the result. (Experiments with larger and smaller numbers of iterations as well as repeated tests under different conditions didn't show any significant differences from this result.)

    最初的测试似乎表明Microsoft是正确的目标。 这是结果。 (迭代次数越来越多的实验以及在不同条件下的重复测试并未显示与该结果有任何显着差异。)

    --------Click Here to display the illustration--------

    -------- 单击此处显示插图 --------

    DirectCast and TryCast were similar at 323 and 356 milliseconds, but CType took over three times as much time at 1018 milliseconds. When casting reference types like this, you pay for the flexibility of CType in performance.

    DirectCast和TryCast在323和356毫秒时相似,但是CType在1018毫秒时花费了三倍的时间。 当像这样转换引用类型时,您需要为CType在性能上的灵活性付出代价。

    But does it always work this way? The Microsoft example in their page for DirectCast is mainly useful for telling you what won't work using DirectCast, not what will. Here's the Microsoft example:

    但是它总是这样工作吗? 在他们的DirectCast页微软例子主要是有用的告诉你使用DirectCast,没有什么会什么都不行。 这是微软的例子:

    Dim q As Object = 2.37
    Dim i As Integer = CType(q, Integer)
    ' The following conversion fails at run time
    Dim j As Integer = DirectCast(q, Integer)
    Dim f As New System.Windows.Forms.Form
    Dim c As System.Windows.Forms.Control
    ' The following conversion succeeds.
    c = DirectCast(f, System.Windows.Forms.Control)

    In other words, you can't use DirectCast (or TryCast, although they don't mention it here) to cast an Object type to an Integer type, but you can use DirectCast to cast a Form type to a Control type.

    换句话说,您不能使用DirectCast(或TryCast,尽管此处未提及)将Object类型转换为Integer类型,但可以使用DirectCast将Form类型转换为Control类型。

    Let's check the performance of Microsoft's example of what will work with DirectCast. Using the same code template shown above, substitute ...

    让我们来看看什么与DirectCast工作,微软的例子的性能。 使用上面显示的相同代码模板,替换...

    c = DirectCast(f, System.Windows.Forms.Control)

    ... into the code along with similar substitutions for CType and TryCast. The results are a little surprising.

    ...以及类似的CType和TryCast替代代码。 结果有点令人惊讶。

    --------Click Here to display the illustration--------

    -------- 单击此处显示插图 --------

    DirectCast was actually the slowest of the three choices at 145 milliseconds. CType is just a little quicker at 127 milliseconds but TryCast, including an If block, is the quickest at 77 milliseconds. I also tried writing my own objects:

    DirectCast实际上是这三个选择中最慢的,为145毫秒。 CType的速度只有127毫秒,但是TryCast(包括If块)最快的是77毫秒。 我还尝试编写自己的对象:

    Class ParentClass
    ...
    End Class
    Class ChildClass
    Inherits ParentClass
    ...
    End Class

    I got similar results. It appears that if you're not casting an Object type, you're better off not using DirectCast.

    我得到了类似的结果。 看来,如果强制转换Object类型,最好不要使用DirectCast。

    翻译自: https://www.thoughtco.com/casting-and-data-type-conversions-vbnet-3424292

    展开全文
  • (转)VB强制类型转换函数

    万次阅读 2010-05-07 13:57:00
    转自:http://tieba.baidu.com/f?kz=139765011 每个函数都可以强制将一个表达式转换成某种特定数据类型。 语法 CBool(expression) CByte(expression) CCur(expression) CDate(expression) CDbl(expression) CDec...
  • cbool (expression) 转换成boolean数据类型变量。 cbyte (expression) 转换成byte数据类型变量。 ccur (expression) 转换成currency数据类型变量。 cdate (expression) 转换成date数据类型变量。 cdbl (expression)...
  • vb.net中类型转换函数

    万次阅读 2013-12-05 15:11:44
    一、函数名确定它返回的值的数据类型,如下表所示。 函数名 返回数据类型 expression 参数范围 CBool Boolean 数据类型 (Visual Basic) 任何有效的 Char、String 或数值表达式。 CByte ...
  • VB类型转换函数

    2008-12-08 14:59:00
    类型转换函数 每个函数都可以强制将一个表达式转换成某种特定数据类型。 语法 CBool(expression) CByte(expression) CCur(expression) CDate(expression) CDbl(expression) CDec(expression) CInt(expression) CLng...
  • VBA中的数据类型转换

    千次阅读 2020-11-24 23:47:38
     VBA提供了两套内置的数据类型转换函数,第一组包含Int、 CVDate和Str,这是早期版本,只是向后兼容而保留。第二组函数都是以字母“C”开头,编程中使用第二组。 每个转换函数的语法基本相同,例如: Expression是...
  • VB类型转换

    2013-07-11 00:40:52
    做为经常使用的部分,类型转换,整理一些资料以供参考 1. CBool函数描述返回表达式,此表达式已转换为 Boolean(布尔类型/是否类型) 子类型的 Variant(变量)。语法CBool(expression)expression 是任意有效的...
  • VB提供了大量的内部函数供用户在编程时调用。内部函数按其功能分为数学运算函数、字符串...文章目录算术函数字符串函数日期和时间函数数据类型转换函数 算术函数 字符串函数 日期和时间函数 数据类型转换函数 ...
  • VB.Net隐式转换和显式转换的方法(转) “隐式转换”不需要源代码中的任何特殊语法。在下面的示例中,在将k的值赋给q之前,Visual Basic 将该值隐式转换成单精度浮点值。 Dim k As Integer Dim q As ...
  • VB.NET函数——检查数据类型函数

    千次阅读 2013-04-02 10:39:09
    函数 说明 IsNothing (Obj) 检查参数是否已经初始化,若对象变量没有指向任何真实对象,返回True,否则返回Flase。 IsDbNull (Obj) 检查参数是否包含任何有效数据,是的话返回True...
  • CDbl 函数用于进行从其他数据类型到 Double 子类型的国际公认的格式转换。例如,十进制分隔符和千位分隔符的识别取决于系统的区域设置。
  • VB字符串处理函数一览

    万次阅读 2017-10-10 11:49:20
    VB字符串处理函数一览 mid(字符串,从第几个开始,长度) ByRef 在[字符串]中[从第几个开始]取出[长度个字符串]  例如 mid("小欣无敌",1,3) 则返回 "小欣无"  instr(从第几个开始,字符串1,...
  • VBA基础语法:类型转换函数

    千次阅读 2020-01-02 13:34:55
    类型转换函数 语法 返回类型 说明 CBool 函数示例 CByte 函数示例 CCur 函数示例 此示例使用 CCur 函数将表达式转换为 Currency。 CDate 函数示例此示例使用 CDate 函数将字符串转换为 Date。通常,建议不要...
  • 可以直接获得不同对象的 数据类型 如下的例子 Private Sub CommandButton3_Click() '增加记录按钮,输入 Range("B15") = TextBox1.Text Range("B16") = TextBox1.Value Range("B17") = TextBox1 Debug.Pr...
  • 每个函数都可以强制将一个表达式转换成某种特定数据类型。 语法 CBool(expression) CByte(expression) CCur(expression) CDate(expression) CDbl(expression) CDec(expression) CInt(expression) CLng(expression) C...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 24,629
精华内容 9,851
关键字:

vb数据类型转换函数