为什么PHP说微秒是1/10000秒?

Ale*_*lex 4 php

据我所知,微秒是1/1000000秒(百万分之一秒).但是出于某种原因,我的php.exe v5.4.12 x64(Windows 7 x64上的CLI)似乎"认为"它真的是1/10000(一千分之一).

如果我运行以下PHP脚本:

<?php
while(true)
{
    echo microtime(true)."\r";
}
?>
Run Code Online (Sandbox Code Playgroud)

我在屏幕上看到的计数器永远不会超过.9999.它从1381994204.9999跃升至1381994205.0

在我写完一个计算某些东西的脚本时,我昨晚疯狂了,在意识到这一点之后,我改变了公式,将microtime(true)输出除以10000而不是1000000,它完美地工作了......

CBr*_*roe 6

通过将参数设置为true,您将获得一个浮点值 - 并且其精度有限.1381994986.3488有14位有效数字,这是你通常使用float得到的数字:

"浮点数的大小取决于平台,但最大值约为1.8e308,精度约为14位十进制数是一个常见值(64位IEEE格式)."

如果不设置参数,您可以看到您获得的值实际上是微秒 - 但您将以字符串形式获取它们.