Real64 Data Type
Holds signed 64-bit (8-byte) IEEE floating-point values. That is in the range −1.79769313486231570E+308 to −4.94065645841246544E−324 for negative values and 4.94065645841246544E−324 to 1.79769313486231570E+308 for positive values.
Instructions
- Precision
- 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
Real64in conditions where the increased precision ofReal128is 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
Real64and do not initialize it, its default value is zero (0.0). - Automatic conversions
Real64widens toReal128without 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
- You can put the suffix
r64(orR64) on the end of a number literal. And you can put the exclamation symbol (!) on the end of a name or number..
Floating-point literal
[ integer_part ] . fractional_part [ E [ + | - ] exponent_part ] [ ! ]
or
integer_part E [ + | - ] exponent_part [ ! ]
or
integer_part !
Parts
integer_part- One or more decimal digits.
You can use an underscore character (
_) to divide it into groups of digits. fractional_part- One or more decimal digits.
exponent_part- 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
numis infinity (positive or negative). Mathematical overflow is one cause of this result. Real64.IsNaN(num As Real64) As Boolean- Returns true if
numis 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
numis negative infinity. Real64.IsPosInf(num As Real64) As Boolean- Returns true if
numis 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
#formatis not given or is#Null, it uses the format of the local culture. Or you can make it clear withFormat.UserLocale. - If
#formatisFormat.RealLiteral, it uses the format of a literal of typeReal64. Real64.Size As Int32- Returns the number of available bytes. This is always 8.
Examples
Dim foo As Real64
Dim bar!