Library tutorials & articles
Data Types
Data Types
As you may have noticed, VB supports several data types. These are what the main 'Types' that you can declare your variables as. For example:
Dim intCount As Integer
is an Integer. You always should tell Visual Basic what sort of data the variable will hold. This will make your code easier to use, and will also save memory. Different types of variables need different amounts of memory. You need to use the smallest amount of memory. For example, if you will need to store a number from 0 - 255 in a variable, you can save memory by declaring it as a Byte (1 byte) rather than as an Integer (2 bytes). This is not really very much memory, but if you are untidy with all your variables, your application will use much more memory than it has to.
The table below lists the various Data Types, what data they can store and how many bytes they use.
|
Data type |
Storage size |
Range |
|
Byte |
1 byte |
0 to 255 |
|
Boolean |
2 bytes |
True or False |
|
Integer |
2 bytes |
-32,768 to 32,767 |
|
Long (long integer) |
4 bytes |
-2,147,483,648 to 2,147,483,647 |
|
Single (single-precision floating-point) |
4 bytes |
-3.402823E38 to -1.401298E-45 for negative values; 1.401298E-45 to 3.402823E38 for positive values |
|
Double (double-precision floating-point) |
8 bytes |
-1.79769313486232E308 to -4.94065645841247E-324 for negative values; 4.94065645841247E-324 to 1.79769313486232E308 for positive values |
|
Currency (scaled integer) |
8 bytes |
-922,337,203,685,477.5808 to 922,337,203,685,477.5807 |
|
Decimal |
14 bytes |
+/-79,228,162,514,264,337,593,543,950,335 with no decimal point; +/-7.9228162514264337593543950335 with 28 places to the right of the decimal; smallest non-zero number is +/-0.0000000000000000000000000001 |
|
Date |
8 bytes |
January 1, 100 to December 31, 9999 |
|
Object |
4 bytes |
Any Object reference |
|
String (variable-length) |
10 bytes + string length |
0 to approximately 2 billion |
|
String (fixed-length) |
Length of string |
1 to approximately 65,400 |
|
Variant (with numbers) |
16 bytes |
Any numeric value up to the range of a Double |
|
Variant (with characters) |
22 bytes + string length |
Same range as for variable-length String |
Related articles
Related discussion
-
Sending mails through SMTP Server directly
by NaseemAhmed (0 replies)
-
VB6, SQL 2005 & DMO
by elajaunie3 (1 replies)
-
sending sms from pc
by sriraj20074 (0 replies)
-
Automating Excel from VB6.0
by epurdy (0 replies)
-
VB6 system conversion using VBA to Word 2007
by b.macgregor@vodamail.co.za (0 replies)
Related podcasts
-
Christian Beauclair
14 mai 2008 (�mission #0074) ::.Christian Beauclair: Stratégies de migration VB6 vers .NET Nous discutons avec Christian Beauclair des stratégies de migration VB6 vers .NET. Entre autres, nous discutons comment utiliser le "VB 6 Code Advisor" et le "Interop Forms Toolkit" pour ajouter la puiss...
i would be interested in a list of data-type-specific operators. for example, in an if...then statement, what operator do i use to compare one string to another? what operator is used to multiply two numbers? etc.
I have heard that using the smallest datatype in a program does not necessarily save space in memory, as memory is optimised to work in blocks of a certain size, possibly VB Long.
Is this correct, or is it best to use the smallest datatype that will safely hold the data required.
One important piece of advice, which I can confirm from experience, is:
Always use a large enough data type to allow for future growth.
You might expect that a variable to hold sales figures would never need to contain more than 99 million, but allow for even more, as it may need to hold, for example, a company-wide summary of sales for the past twenty years, and suddenly the program will crash if the data type is too small.
This thread is for discussions of Data Types.