在Windows上的Apache / IIS上使用microtime的奇怪时间格式

时间:2009-09-15 12:05:58

标签: php

<?php
    $start = microtime(true);
    $end = microtime(true);
    echo $end - $start;
?>

为什么此代码会产生如下结果:

1.1920928955078E-5,
5.9604644775391E-6,
6.9141387939453E-6

E-5和E-6是什么意思?

为什么差异如此之大?从1.2秒到6.9秒?

3 个答案:

答案 0 :(得分:6)

E是scientific或指数表示法,其中每个数字表示为a x 10 b ,因此aEb表示乘以a乘以10 b'/ SUP>。因此,当b = -5时,则乘以10 -5 (相同除以10 5 )或将小数位移到左边5位。当b为正数时,则将许多位置的小数位移到右侧。请注意,在科学记数法中,小数点左边始终有一个数字。

所以

1.1920928955078E-5 = 0.000011920928955078

5.9604644775391E-6 = 0.0000059604644775391

6.9141387939453E-6 = 0.0000069141387939453

差异实际上非常小 - 几微秒。

答案 1 :(得分:1)

E是一种科学记数法。 E-x意味着你得到的结果前面有一定数量的零。

查看this table以查看每个结果的含义。

在您的示例中,您有1,0E-6,即0,000001,即Micro。

答案 2 :(得分:1)

1.1920928955078E-5表示1.1920928955078 * 10 ^ -5 == 0.000011920 ...

所以你的区别是:

0,000011920 0,000005960 0,000006914

因此它在~2之内,而不是〜6