溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

PHP如何實現(xiàn)浮點比較大小

發(fā)布時間:2021-08-30 16:03:03 來源:億速云 閱讀:105 作者:小新 欄目:開發(fā)技術(shù)

這篇文章主要介紹了PHP如何實現(xiàn)浮點比較大小,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

具體如下:

<?php
/**
 * 浮點數(shù)一般是不能用來比較大小的,但是我們可以用一種變通的的方式
 * 用var_dump輸出浮點是看不出效果的,可以用serialize查看
 * 1.round 2.浮點轉(zhuǎn)換成字符串
 *
 * 轉(zhuǎn)換成字符串方法:
 * 通過在其前面加上(string)或用strval()函數(shù)來轉(zhuǎn)變成 字符串
 * 在一個需要字符串的表達式中,字符串會自動轉(zhuǎn)變,比如在使用函數(shù) echo() 或 print() 時, 或在一個變量和一個 字符串 進行比較時,就會發(fā)生這種轉(zhuǎn)變
 * true會轉(zhuǎn)為1 , 而false則會轉(zhuǎn)為空字符串
 *
 */
$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/>";
//強制轉(zhuǎn)為字符串
// $c = (string)$c;
// $c = strval($c);
if("$c" == 0.55){
  echo 'ok';
}
?>

運行結(jié)果如下:

d:0.54999999999999993338661852249060757458209991455078125;
0.55
ok
ok

感謝你能夠認真閱讀完這篇文章,希望小編分享的“PHP如何實現(xiàn)浮點比較大小”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關(guān)注億速云行業(yè)資訊頻道,更多相關(guān)知識等著你來學習!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

php
AI