浮点数做为实数表达方式,按如下表示。
$float0 = 3.14; // 3.14
$float1 = 3.14e3; // 3140
$float2 = 3.14E-3; // 0.00314
上述E3 (e3)是指10的3立方1000, E-3 (e-3)是指10的-3立方即1/1000。
在其他资料型中,转换为浮点数明示的型转换的运算符是float,同样不区分大小写。
$a = 0.1 / 0.3;
printf("%.20e\r\n", $a); // print $a down to 20 places of decimals
[result]
3.33333333333333370341e-1
就同在上面结果所示,小数点以下15位后面的值不正确。因以上限制不建议使用浮点数的直接比较演算。
$float0 = acos(2);
if($float0 == $float0)
echo "True\r\n"; // result: FALSE
else
echo "float0\r\n"; // output: NAN
$float0 = 1.8E+309;
echo "float0"; // output: INF