Example. In Main, the program assigns a Double to the value 1.5. We then display this to the Console. Next, the same variable (a location in memory) is assigned the value -1.5.
Note The Double type stores signed numbers—even signed fractional numbers. We then evaluate some expressions that use this Double Dim.
Note 2 An expression context does not change the value stored in a variable. It evaluates to a new value on the evaluation stack.
And These new values are passed to the Console.WriteLine Sub. Then they are forgotten.
Detail The minimum value of a Double is a big negative value. And conversely the maximum value is highly positive.
' Use Double Dim.
Dim number As Double = 1.5
' Negative Double.
number = -1.5
' Evaluate expressions.
Console.WriteLine(number = -1.5)
Console.WriteLine(number + 1)
' Min and Max.
' Memory usage per Double.
Dim b1 As Long = GC.GetTotalMemory(False)
Dim array(1000 * 1000) As Double
array(0) = 1
Dim b2 As Long = GC.GetTotalMemory(False)
Console.WriteLine((b2 - b1) / (1000 * 1000))
Memory usage. We use the GC type to figure out how much memory the program is using. Then we allocate an array of one million Double elements.
Result We measure the memory again. This gives us the total memory used by one million Double elements.
Detail After division, a single Double is found to require 8 bytes of space. The excess bytes are for the array reference itself.
Single. A Single is a floating-point number like Double, but with less precision. It has half the bytes—so it requires 4 bytes. This simple program shows the Single keyword.
' Use Single type.
Dim number As Single = 10.35
Summary. A Double is the size of two Integers put together. It is technically a Structure. It stores a decimal place and represents a much larger range of numbers than an Integer type.