PHP浮點(diǎn)比較大小的方法
本文實(shí)例講述了PHP浮點(diǎn)比較大小的方法。分享給大家供大家參考,具體如下:
<?php
/**
* 浮點(diǎn)數(shù)一般是不能用來(lái)比較大小的,但是我們可以用一種變通的的方式
* 用var_dump輸出浮點(diǎn)是看不出效果的,可以用serialize查看
* 1.round 2.浮點(diǎn)轉(zhuǎn)換成字符串
*
* 轉(zhuǎn)換成字符串方法:
* 通過(guò)在其前面加上(string)或用strval()函數(shù)來(lái)轉(zhuǎn)變成 字符串
* 在一個(gè)需要字符串的表達(dá)式中,字符串會(huì)自動(dòng)轉(zhuǎn)變,比如在使用函數(shù) echo() 或 print() 時(shí), 或在一個(gè)變量和一個(gè) 字符串 進(jìn)行比較時(shí),就會(huì)發(fā)生這種轉(zhuǎn)變
* true會(huì)轉(zhuǎn)為1 , 而false則會(huì)轉(zhuǎn)為空字符串
*
*/
$a = 13.2;
$b = 24;
$c = $a/$b;
//實(shí)際值是這個(gè)d:0.54999999999999993338661852249060757458209991455078125;
echo serialize($c).'<br/>';//
echo $c.'<br/>';//輸出時(shí)會(huì)顯示成0.55 實(shí)際的值是比他小的
//所以直接和0.55比較大小是不成立的
if($c == 0.55){
echo 'nothing';
}
$c = round($c,2);
//用round處理
if($c == 0.55){
echo 'ok';
}
echo "<br/>";
//強(qiáng)制轉(zhuǎn)為字符串
// $c = (string)$c;
// $c = strval($c);
if("$c" == 0.55){
echo 'ok';
}
?>
運(yùn)行結(jié)果如下:
d:0.54999999999999993338661852249060757458209991455078125; 0.55 ok ok
更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《PHP運(yùn)算與運(yùn)算符用法總結(jié)》、《PHP基本語(yǔ)法入門教程》、《PHP錯(cuò)誤與異常處理方法總結(jié)》及《php常用函數(shù)與技巧總結(jié)》
希望本文所述對(duì)大家PHP程序設(shè)計(jì)有所幫助。
- php實(shí)現(xiàn)比較兩個(gè)字符串日期大小的方法
- PHP中比較時(shí)間大小實(shí)例
- php比較兩個(gè)絕對(duì)時(shí)間的大小
- php比較多維數(shù)組中值的大小排序?qū)崿F(xiàn)代碼
- PHP比較運(yùn)算符的詳細(xì)介紹
- PHP中兩個(gè)float(浮點(diǎn)數(shù))比較實(shí)例分析
- php比較兩個(gè)字符串長(zhǎng)度的方法
- PHP之浮點(diǎn)數(shù)計(jì)算比較以及取整數(shù)不準(zhǔn)確的解決辦法
- php比較相似字符串的方法
- PHP中浮點(diǎn)數(shù)計(jì)算比較及取整不準(zhǔn)確的解決方法
相關(guān)文章
深入file_get_contents與curl函數(shù)的詳解
本篇文章是對(duì)file_get_contents與curl函數(shù)進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06
使用php+apc實(shí)現(xiàn)上傳進(jìn)度條且在IE7下不顯示的問(wèn)題解決方法
本篇文章介紹了,使用php+apc實(shí)現(xiàn)上傳進(jìn)度條且在IE7下不顯示的問(wèn)題解決方法。需要的朋友參考下2013-04-04
PHP中類屬性與類靜態(tài)變量的訪問(wèn)方法示例
這篇文章主要介紹了PHP中類屬性與類靜態(tài)變量的訪問(wèn)方法,結(jié)合實(shí)例形式對(duì)比分析了php中類的屬性、靜態(tài)變量及常量的各種訪問(wèn)技巧,需要的朋友可以參考下2016-07-07

