程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> mysql履行時光為正數的緣由剖析

mysql履行時光為正數的緣由剖析

編輯:MySQL綜合教程

mysql履行時光為正數的緣由剖析。本站提示廣大學習愛好者:(mysql履行時光為正數的緣由剖析)文章只能為提供參考,不一定能成為您想要的結果。以下是mysql履行時光為正數的緣由剖析正文



<?php
list($usec, $sec) = explode(' ', microtime());
$timer = (float)$usec + (float)$sec;
mysql_query($query, $active_db);
list($usec, $sec) = explode(' ', microtime());
$stop = (float)$usec + (float)$sec;
$diff = $stop - $timer;
?>

$stop 和 $timer都是轉化後獲得的浮點數,年夜多半情形下,echo $stop 和 echo $timer獲得的成果用肉眼不雅察是雷同的,然則它們在盤算機中的存儲其實不雷同,所以成果不為0,也有能夠為負。

php手冊中提醒:

浮點數精度:
明顯簡略的十進制分數好像 0.1 或 0.7 不克不及在不喪失一點點精度的情形下轉換為外部二進制的格局。這就會形成凌亂的成果:例如,floor((0.1+0.7)*10) 平日會前往 7 而不是預期中的 8,由於該成果外部的表現實際上是相似 7.9999999999...。

這和一個現實有關,那就是弗成能准確的用無限位數表達某些十進制分數。例如,十進制的 1/3 釀成了 0.3333333. . .。

所以永久不要信任浮點數成果准確到了最初一名,也永久不要比擬兩個浮點數能否相等。假如確切須要更高的精度,應當應用隨意率性精度數學函數或許 gmp 函數。
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved