VB6 Tutorial 15: Data Type Conversions

By | 2018-09-14

You have already learned about various data types in this tutorial site. Now I’m going to explore the concept of data type conversion also known as type casting.

What is data type conversion?

When you’re working with many variables of different data types in an expression, the variable or expression on the right hand side of the assignment operator must first be converted into the target type, otherwise assignment will not be possible.

In some cases, Visual Basic does it for you. That means that you don’t need to write code to convert the data types; conversion is done automatically. But this doesn’t happen all the time, so you need to learn how to convert them.

Implicit data type conversion

In many cases, Visual Basic does the conversion job automatically. For example, when a numeric value is assigned to a String variable, the type casting is done automatically.

In the following example, Visual Basic implicitly converts the value of number to string before assigning to msg.

Example

Dim number As Integer, msg As String
number = 44545
msg = number
Print msg

Visual Basic converts the types wherever it can, and you have to convert the values into appropriate type in other cases.

Explicit conversion

In many cases you have to explicitly convert the data values to another data type. Visual Basic has provided so many useful conversion functions.

Example

Works without the CInt function also.

Dim n As Integer, d As Double
d = 5.6767
n = CInt(d)
Print n

Output: 6

Conversion functions

The functions are CBool, CByte, CCur, CDate, CDbl, CDec, CInt, CLng, CSng, CStr, and CVar.

Val and Str functions are also used.

Press F2 and type in the search box “Conversion”, then you’ll see all the functions with details under the Conversion module. All the data type conversion functions are explained below.

Quickhint:

The argument of such function must be within the range of that particular data type, into which the value is converted.

CStr

The Cstr function converts an expression to a string. This is useful when you’re displaying some numeric values in a text box control.

Example
Dim v1 As Double
Text1.Text = CStr(v1)

Str

 The Str function converts a number to a string. It is similar to the Cstr function.

Example
Dim str1 As String, m As Integer
str1 = Str(m)

While programming you’ll need the string representation of a number so many times.

CDbl

The CDbl function converts an expression into a Double. It also extracts the numeric value from a string.

Example

If you omit the CDbl function, the program will raise an overflow error.

Dim m As Integer, v As Double
m = 30887
v = CDbl(m) * 31880
Print v
Example
Dim value As Double
value = CDbl(Text1.Text)
Print value + 1
Example
Dim value As Double
value = CDbl("55")
Print value + 1

Val

Sometimes you can use the Val function instead of the CDbl function. Val function returns a Double value. It only returns the numeric value contained in a string. Unlike the CDbl function, it cannot convert a numeric expression.

Example
Dim l As Double 
l = Val(Text1.Text)

CInt

The CInt function converts a number to integer.

Example
Dim m As Integer
m = CInt(876.878)   'Returns 877 after roundin the no.
m = CInt(-2.7)   'Returns -3 after rounding the no.

The argument must be within the Integer range here.

876.878 and -2.7 are the arguments in the above code.

CLng

The CLng function converts to Long type.

Example
Dim ln As Long
ln = CLng(1147483647.87656) 'Rounds up the value
Debug.Print ln

CBool

The CBool function converts an expression to Boolean Data type, i.e either True or False.

The value of zero is converted to False and all other numeric values are converted to True. The strings “True” and “False” return True and False Boolean values respectively.

Example
Dim B as Boolean
B=cbool(0)       'Returns False
B=cbool(1)       'Returns true
B=cbool(345)     'Returns True

CByte, CSng, CVar,CCur,CDate and CDecimal functions convert to Byte, Sinle, Variant, Currency, Date and Decimal values respectively. You can use these functions in the same way explained above.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.