время — PHP микротайм недостающие цифры

В 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)
?>

Почему поплавок показывает только первые четыре цифры? Иногда я получаю только три цифры, что имеет смысл. Если это не возвратный float (1462577720.647289). т.е. 6 цифр в большинстве случаев, иногда 5 цифр?

1

Решение

Вы, похоже, путаете точность с цифрами после запятой.

Максимальная точность с плавающей запятой двойной точности обычно составляет от 14 до 16 цифр, и ваш пример показывает 14. Да, все цифры учитываются. Десятичная точка обрабатывается другой переменной (на уровне определения с плавающей запятой).

Тот же принцип применим к очень большим числам, которые также потеряют точность после 14-15 цифр.

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]