 # Lesson 8 Dealing with Data

In our daily life, we have to deal with many kinds of information and data . For example, we need to handle data like names, money, phone number, addresses, date, stock quotes and more. Similarly, in Visual Basic 2015, we need to deal with all sorts of data, some of them can be mathematically calculated while some are in the form of text or other non-numeric forms. In Visual Basic 2015,  we can store the data as variables, constants or arrays. The values of the variables always change, just like the contents of a mailbox or the storage bin while the value of a constant remains the same throughout.

### 8.1 Visual Basic 2015 Data Types

Visual Basic 2015 classifies information into two major data types,  the numeric data types, and the non-numeric data type

#### 8.1.1 Numeric Data Types

In Visual Basic 2015, numeric data types are types of data comprises numbers that can be calculated mathematically. Some examples of numeric data types are examination marks, height, body weight, the number of students in a class, share values, the price of goods, monthly bills, fees, bus fares and more.

In Visual Basic 2015,  we can divide numeric data into seven types based on the range of values they can store. Calculations that only involve round figures can use Integer or Long integer. On the other hand, data that require high precision calculation need to use single or double precision data types, they are also called floating point numbers.  Besides that, for currency calculation, you can use the currency data types. Lastly, if even more precision is required  we can use the decimal data types. These data types are summarized in Table 8.1

Table 8.1: Numeric Data Types
Type Storage Range of Values
Byte  1 byte   0 to 255
Integer  2 bytes   -32,768 to 32,767
Long  4 bytes  -2,147,483,648 to 2,147,483,648
Single  4 bytes -3.402823E+38 to -1.401298E-45 for negative values 1.401298E-45 to 3.402823E+38 for positive values.
Double  8 bytes -1.79769313486232e+308 to -4.94065645841247E-324 for negative values 4.94065645841247E-324 to 1.79769313486232e+308 for positive values.
Currency  8 bytes -922,337,203,685,477.5808 to 922,337,203,685,477.5807
Decimal  12 bytes +/- 79,228,162,514,264,337,593,543,950,335 if no decimal is use +/- 7.9228162514264337593543950335 (28 decimal places).

#### 8.1.2 Non-numeric Data Types

In Visual Basic 2015, non-numeric data types are data that we cannot calculate them mathematically. The non-numeric data comprises text or string data types, the Date data types, the Boolean data types that store only two values (true or false), Object data type and Variant data type. We can summarize them in Table 8.2

>Table 8.2: Non-numeric Data Types
Type Storage Range
String(fixed length) Length of string 1 to 65,400 characters
String(variable length) Length + 10 bytes 0 to 2 billion characters
Date  8 bytes January 1, 100 to December 31, 9999
Boolean  2 bytes True or False
Object  4 bytes Any embedded object
Variant(numeric)  16 bytes Any value as large as Double
Variant(text) Length+22 bytes Same as variable-length string

### 8.1.3 Suffixes for Literals

Literals are values that you assign to data. In some cases, we need to add a suffix behind a literal so that Visual Basic 2015 can handle the calculations more accurately. For example, we can use num=1.3089! for a single precision data type, num=1.3089# for a double precision data type, num=130890& to indicate long integer data type and num=1.3089@ to indicate currency data type. The suffixes are summarized in Table 8.3.

Table 8.3
Suffix Data Type
& Long
! Single
# Double
@ Currency

In addition, we need to enclose string literals within two quotations and date and time literals within two # sign. Strings can contain any characters, including numbers. The following are few examples:

```
memberName="Turban, John."
TelNumber="1800-900-888-777"
LastDay=#31-Dec-00#
ExpTime=#12:00 am#
```