Real64 Data Type

Holds signed 64-bit (8-byte) IEEE floating-point values in the range −1.79769313486231570E+308 to −4.94065645841246544E−324 for negative values and 4.94065645841246544E−324 to 1.79769313486231570E+308 for positive values.


Floating-point data types cannot store all values accurately. Some operations can cause results that you think are incorrect. A typical example is when you compare values. See Data Type Troubleshooting for more information.
Space efficiency
You can use Real64 in conditions where the increased precision of Real128 is not necessary. Some conditions can let the ViviFire runtime decrease the memory that your program uses.
Default value
When you declare a variable of type Real64 and do not initialize it, its default value is zero (0.0).
Automatic conversions
Real64 widens to Real128 without risk of overflow.
Zeros at the end
The floating-point data types usually cannot show 0 characters at the end, after the decimal point. Thus numbers, for example, 1.4200 and 1.42 are the same value. If you must show zeros at the end, you must use a formatter procedure.
Type characters
When you put an exclamation sign (!) at the end of a name, it declares it has the type Real64.

Floating-point literal

[ integer_part ] . fractional_part [ E [ + | - ] exponent_part ] [ ! ]
integer_part E [ + | - ] exponent_part [ ! ]
integer_part !


One or more decimal digits. You can use an underscore character (_) to divide it into groups of digits.
One or more decimal digits.
One or more decimal digits. Typically the maximum number of digits is three or four.

Shared methods and properties

Real64.Default As Real64
Returns the default value, 0.0.
Real64.Epsilon As Real64
Returns the smallest difference between two values.
Real64.IsInf(num As Real64) As Boolean
Returns true if num is infinity (positive or negative). Mathematical overflow is one cause of this result.
Real64.IsNaN(num As Real64) As Boolean
Returns true if num is not a number (NaN). “Zero divided by zero” and “square root of a negative” are two causes of this result.
Real64.IsNegInf(num As Real64) As Boolean
Returns true if num is negative infinity.
Real64.IsPosInf(num As Real64) As Boolean
Returns true if num is positive infinity.
Real64.Max As Real64
Returns the maximum positive value.
Real64.Min As Real64
Returns the minimum negative value.
Real64.Parse(str As String, Optional #format As Format) As Real64
Tries to parse a string that shows as a floating-point number.
If #format is not given or is #Null, it uses the format of the local culture. Or you can make it clear with Format.UserLocale.
If #format is Format.RealLiteral, it uses the format of a literal of type Real64.
Real64.Size As Int32
Returns the number of available bytes. This is always 8.


Dim foo As Real64
Dim bar!

See also