PHP浮點比較大小的方法
更新時間:2016年02月14日 11:18:43 作者:思齊_
這篇文章主要介紹了PHP浮點比較大小的方法,涉及PHP數(shù)字及字符串的轉(zhuǎn)換與比較相關(guān)技巧,需要的朋友可以參考下
本文實例講述了PHP浮點比較大小的方法。分享給大家供大家參考,具體如下:
<?php
/**
* 浮點數(shù)一般是不能用來比較大小的,但是我們可以用一種變通的的方式
* 用var_dump輸出浮點是看不出效果的,可以用serialize查看
* 1.round 2.浮點轉(zhuǎn)換成字符串
*
* 轉(zhuǎn)換成字符串方法:
* 通過在其前面加上(string)或用strval()函數(shù)來轉(zhuǎn)變成 字符串
* 在一個需要字符串的表達(dá)式中,字符串會自動轉(zhuǎn)變,比如在使用函數(shù) echo() 或 print() 時, 或在一個變量和一個 字符串 進(jìn)行比較時,就會發(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
更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《PHP運算與運算符用法總結(jié)》、《PHP基本語法入門教程》、《PHP錯誤與異常處理方法總結(jié)》及《php常用函數(shù)與技巧總結(jié)》
希望本文所述對大家PHP程序設(shè)計有所幫助。
相關(guān)文章
深入file_get_contents與curl函數(shù)的詳解
本篇文章是對file_get_contents與curl函數(shù)進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06
使用php+apc實現(xiàn)上傳進(jìn)度條且在IE7下不顯示的問題解決方法
本篇文章介紹了,使用php+apc實現(xiàn)上傳進(jìn)度條且在IE7下不顯示的問題解決方法。需要的朋友參考下2013-04-04

