Float
DIM Var AS Float
Questo tipo di dati nativo rappresenta un doppio valore in virgola mobile, vale a dire un valore in virgola mobile di otto byte.
Il valore di Float è un numero compreso tra -8.98846567431105E+307 e +8.98846567431105E+307
La precisione di Float è di 52 cifre binarie, ovvero 16 cifre decimali (2^-52).
Ciò significa che se si aggiunge un numero (positivo) inferiore a 2E-16 a 1.0, il risultato sarà esattamente 1.0.
Esempio
DIM x AS Float = Sin(0.32)
DIM y AS Float = x - (0.32 - 0.32 ^ 3 / (2 * 3))
PRINT x;;y
0.314566560616 2.789394945107E-5
L'overflow durante le operazioni aritmetiche Float non viene rilevato!
Invece, il risultato è impostato su
1E+2147483647 o
-1E+2147483647 a seconda della direzione dell'overflow.
Se un tale numero in overflow viene utilizzato in ulteriori espressioni, l'esecuzione si arresta e una finestra di messaggio mostra "Errore matematico". Il valore di un Float può essere confrontato con maxfloat o minfloat.
Esempio
CONST maxfloat AS Float = +8.98846567431105E+307
CONST minfloat AS Float = -8.98846567431105E+307
...
IF y > maxfloat OR y < minfloat THEN
PRINT "Float y overflow"
ELSE
x = y / 23000
ENDIF
Vedi anche