Float
DIM Var AS Float
这个本地数据类型描述一个八字节的双精度浮点数值。
这个双精度浮点数值是一个在-8.98846567431105E+307到+8.98846567431105E+307之间的数值。
这个数据类型的精度是52个二进制位,相当于十进制小数点后16位(2^-52)。这意味着给1.0加上一个小于2E-16的正数,结果仍是1.0。
示例
PUBLIC x AS Float
PUBLIC SUB ButFloat_Click()
DIM y AS Float
x = Sin(0.32)
y = x - (0.32 - 0.32 ^ 3 / (2 * 3))
END
0.314566560616 2.789394945107E-5
Float类型的算术运算不进行溢出检测!当溢出发生时,/1E+2147483647/会与/-1E+2147483647/相互转化。
如果一个溢出的数据在其他的表达式中使用,会停止执行并弹出提示"Mathematic error"(数学运算错误)信息的窗口。但是Float类型的值可以和Float类型的上界或Float类型的下界进行比较,以判断溢出是否发生。
示例
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
参见