<?php
$x = 0.5;
echo $x -= 0.1;echo "
";echo $x -= 0.1;echo "
";echo $x -= 0.1;echo "
";echo $x -= 0.1;echo "
";echo $x -= 0.1;echo "
";今天在做一些相關的浮點型資料運算時,出現 2.7755575615629e-17 的問題。當然具體例項不是這樣的!
google 了半天,發現是浮點型資料運算時的,內部二進位制資料轉化時出的,問題!2.7755575615629e-17 出表示的是0。
可用round()函式,處理。
php 浮點數運算
php r echo 0.1 0.7 0.8 true false 了解浮點運算的都不難理解以上 執行時會得到false 這是因為很多的10進製數都不能精確的轉成2進製,或如果要精確轉換的話需要的二進位制數太長,會捨棄掉末尾部分,只儲存一定的精度。比如0.1 十進位制 0.0001100 1100 ...
PHP浮點數運算精度問題
最近有客戶反應 訂單金額總是不準確,總是相隔一分錢。檢查相關 邏輯都是正確的,就是運用了四則運算。大概推測問題可能出在浮點計算丟失精度。在 php程式設計師雷雪松的部落格 中寫過一篇關於js精度不準確的文章 js中浮點數運算不精準 下面php程式設計師雷雪松詳細的介紹一下如何解決php浮點數運算精度...
浮點數運算
浮點數運算的公式 n m re n代表浮點數 m代表尾數 r代表基數 e代表指數 所謂浮點數就是類似我們高中學的科學計數法 比如 1000 就表示為 1.0 103 那麼浮點型計算就是兩個用科學計數法表示的數之間進行的計算 例如 1.0 102 1.19 103 該如何計算 步驟 1.對階 所謂對階...