浮点型,也叫浮点数float
、双精度数double
或实数real
。
浮点数在精度上会存在一些误差,所以永远不要相信浮点数结果精确到了最后一位,也永远不要比较两个浮点数是否相等。
例如:
// x = 1.6;
$x = 8 - 6.4;
$y = 1.6;
// 返回false
$x == $y;
在将变量转成浮点数时,会将其先转换为整数型,然后在将其转成浮点数。
有一些计算可能产生一个未定义或不可表述的结果,该结果用常数
NAN
来表示,该常数除了等于但非绝对等于 TRUE
之外,和其他值进行比较都会等于FALSE
,包括它自身。