程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> PHP浮點比較大小的方法,php浮點大小

PHP浮點比較大小的方法,php浮點大小

編輯:關於PHP編程

PHP浮點比較大小的方法,php浮點大小


本文實例講述了PHP浮點比較大小的方法。分享給大家供大家參考,具體如下:

<?php
/**
 * 浮點數一般是不能用來比較大小的,但是我們可以用一種變通的的方式
 * 用var_dump輸出浮點是看不出效果的,可以用serialize查看
 * 1.round 2.浮點轉換成字符串
 *
 * 轉換成字符串方法:
 * 通過在其前面加上(string)或用strval()函數來轉變成 字符串
 * 在一個需要字符串的表達式中,字符串會自動轉變,比如在使用函數 echo() 或 print() 時, 或在一個變量和一個 字符串 進行比較時,就會發生這種轉變
 * true會轉為1 , 而false則會轉為空字符串
 *
 */
$a = 13.2;
$b = 24;
$c = $a/$b;
//實際值是這個d:0.54999999999999993338661852249060757458209991455078125;
echo serialize($c).'<br/>';//
echo $c.'<br/>';//輸出時會顯示成0.55 實際的值是比他小的
//所以直接和0.55比較大小是不成立的
if($c == 0.55){
  echo 'nothing';
}
$c = round($c,2);
//用round處理
if($c == 0.55){
  echo 'ok';
}
echo "<br/>";
//強制轉為字符串
// $c = (string)$c;
// $c = strval($c);
if("$c" == 0.55){
  echo 'ok';
}
?>

運行結果如下:

d:0.54999999999999993338661852249060757458209991455078125;
0.55
ok
ok

更多關於PHP相關內容感興趣的讀者可查看本站專題:《PHP運算與運算符用法總結》、《PHP基本語法入門教程》、《PHP錯誤與異常處理方法總結》及《php常用函數與技巧總結》

希望本文所述對大家PHP程序設計有所幫助。

您可能感興趣的文章:

  • php實現比較兩個字符串日期大小的方法
  • PHP中比較時間大小實例
  • php比較兩個絕對時間的大小
  • php比較多維數組中值的大小排序實現代碼
  • PHP比較運算符的詳細介紹
  • PHP中兩個float(浮點數)比較實例分析
  • php比較兩個字符串長度的方法
  • PHP之浮點數計算比較以及取整數不准確的解決辦法
  • php比較相似字符串的方法
  • PHP中浮點數計算比較及取整不准確的解決方法

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved