C-Sharp | Java | Python | Swift | GO | WPF | Ruby | Scala | F# | JavaScript | SQL | PHP | Angular | HTML
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.
VB.NET program that uses Double
Module Module1
Sub Main()
' Use Double Dim.
Dim number As Double = 1.5
Console.WriteLine(number)
' Negative Double.
number = -1.5
Console.WriteLine(number)
' Evaluate expressions.
Console.WriteLine(number = -1.5)
Console.WriteLine(number + 1)
Console.WriteLine(number.GetType())
' Min and Max.
Console.WriteLine(Double.MinValue)
Console.WriteLine(Double.MaxValue)
' 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))
End Sub
End Module
Output
1.5
-1.5
True
-0.5
System.Double
-1.79769313486232E+308
1.79769313486232E+308
8.00004
Result: We measure the memory again. This gives us the total memory used by one million Double elements.
Size: After division, a single Double is found to require 8 bytes of space. The excess bytes are for the array reference itself.
VB.NET program that uses Single
Module Module1
Sub Main()
' Use Single type.
Dim number As Single = 10.35
Console.WriteLine(number)
End Sub
End Module
Output
10.35
Note: This extra storage space is critical in programs that do mathematical computations.