【发布时间】:2012-01-20 19:57:32
【问题描述】:
PHP 版本 5.3.6
例子
<?php
$timeStart = microtime(true);
// some code ...
$timeExecution = microtime(true) - $timeStart;
$time = round($timeExecution, 2);
file_put_contents('h:/round.txt', $timeExecution . ' = ' . $time . "\n", FILE_APPEND);
?>
文件 round.txt 包含以下几行:
131.3048491477966 = 131.3
8.340715885162354 = 8.34
8.198318004608154 = 8.199999999999999
这怎么可能?
【问题讨论】:
-
您通常可以在维基百科上开始研究:en.wikipedia.org/wiki/Floating_point - 但不要相信那里所说的内容。而是遵循书籍建议并阅读接下来的书籍。您也可能对
sprintf/fprintf/printf系列函数感兴趣。
标签: php floating-point floating-accuracy floating-point-precision