Datatypes in Visual Basic

In the previous tutorial I described the notion of variables and what they represent in Visual Basic (and any other high level programming language for that matter).   The means to name a value, store that value and recall it in your application.  The values could be both number and text and, if you recall, we used an Integer variable to store a whole number.   There are in fact a lot of differing datatypes available to you as a Visual Basic programmer.  They differ in the amount of memory they require, the range of values you can store in them and the types of value you can store in them.

Now, numbers and text form a large part of the data types available but there are datatypes for True/False values (Boolean), Dates,  whole numbers (integers) and decimalised (floating point) numbers.  The following table summarises the main datatypes available to you as a VB.NET programmer.  Note, there are more datatypes available in .NET but this table illustrates the main protagonists.

Datatype Storage allocation Values
Boolean Depends on implementing platform True or False
Byte 1 byte Whole Numbers.0 through 255
Char 2 bytes Whole Numbers.0 through 65535
Date 8 bytes Dates and Times
Decimal 16 bytes Huge Decimal numbers.  Use with caution as the performance is relatively very poor ie Visual Basic is slower at performing calculations with these variables than any other datatype.
Double 8 bytes Decimal Numbers.
-1.79769313486231570E+308 through -4.94065645841246544E-324  for negative values;
4.94065645841246544E-324 through 1.79769313486231570E+308  for positive values
Integer 4 bytes Whole Numbers.-2,147,483,648 through 2,147,483,647
Long 8 bytes Whole Numbers-9,223,372,036,854,775,808 through 9,223,372,036,854,775,807
SByte 1 byte Whole Numbers,-128 through 127
Short 2 bytes Whole Numbers.-32,768 through 32,767
Single 4 bytes Decimal Numbers.
-3.4028235E+38 through -1.401298E-45 for negative values
1.401298E-45 through 3.4028235E+38 for positive values
String Depends on implementing platform Text.  Can handle 0 to approximately 2 billion Unicode characters

I wouldn’t spend too much time at this stage learning these datatypes.  It’s boring more than anything else. In the main you will use Integers for whole numbers, Double for decimal numbers, String for text and Boolean for true/false values.  The rest are for more specialised cases where large or small numbers are required.  Coding is much more fun than this, I promise you.  Can you remember learning to drive?  Learning the gears and stopping distances was as fun as putting salt in your eyes, but careering round a track at 100mph is damn fun.  Well this is the same unfortunately; this tutorial is the equivalent of memorising the legal limit of alcohol in your bloodstream.

It is possible to convert variables from one datatype to another. For example a String of “111” can be converted to an Integer and the value would be 111.  You will get an error if you try to convert “sss” to an integer though. The conversion syntax is typcally e.g. variable.ToString() or variable.ToInt().

The following video covers Data Types in Visual Basic.

Enjoy, if you can (I’m off to relearn braking distances in wet weather)