PHP microtime缺少数字

时间:2016-05-07 00:02:58

标签: php time microtime

在PHP中,当使用microtime(true)时,我希望在大多数情况下得到小数点右边的6位数。

<?php
//version 5.5.31

$time = microtime();
$timeTrue = microtime(true);

var_dump($time, $timeTrue);

// string(21) "0.64728900 1462577720"
// float(1462577720.6473)
?>

为什么浮动只显示前四位数?有时我只得到三位数,这是有道理的。它不应该返回浮动(1462577720.647289)。即大多数情况下是6位数,偶尔是5位数?

1 个答案:

答案 0 :(得分:2)

您似乎在精确度与小数点后的数字混淆。

双精度浮点的最大精度通常为14到16位,示例显示14.是的,所有数字都计算在内。小数点由另一个变量处理(在浮点定义级别)。

同样的原则适用于非常大的数字,这些数字在14-15位数字后也会失去精确度。