php比较float大小,PHP中两个float(浮点数)比较实例分析
本文實(shí)例講述了PHP中兩個(gè)float(浮點(diǎn)數(shù))比較方法。分享給大家供大家參考。具體如下:
最近在開(kāi)發(fā)一個(gè)合同管理系統(tǒng)的時(shí)候,涉及到兩個(gè)浮點(diǎn)數(shù)比較,算是把我郁悶慘了。
在N久以前,就不曉得從哪里聽(tīng)來(lái)的一個(gè)“不要用等號(hào)去比較浮點(diǎn)數(shù)”的“真理”,自己平時(shí)也在用,好像沒(méi)有出現(xiàn)啥問(wèn)題,可這次問(wèn)題總算是來(lái)了。
$sum = "12300.00";
$a = "10000.30";
$b = "2000.30";
$c = "299.40";
$sum = (float) $sum;
$s = (float) ($a+$b+$c);
var_dump($sum, $s);
var_dump($sum==$s);
結(jié)果是:
float(12300)
float(12300)
bool(false)
后來(lái)才知道在PHP中,要比較兩個(gè)浮點(diǎn)數(shù)的大小,可以用bccomp(參數(shù)1,參數(shù)2,小數(shù)位)來(lái)比較。
$sum = "12300.00";
$a = "10000.30";
$b = "2000.30";
$c = "299.40";
$sum = (float) $sum;
$s = (float) ($a+$b+$c);
var_dump($sum, $s);
var_dump(bccomp($sum,$s,2));
結(jié)果:
float(12300)
float(12300)
int(0) // 0表示兩個(gè)浮點(diǎn)數(shù)值相等
bccomp函數(shù)具體用法可參考PHP手冊(cè)。
希望本文所述對(duì)大家的php程序設(shè)計(jì)有所幫助。
總結(jié)
以上是生活随笔為你收集整理的php比较float大小,PHP中两个float(浮点数)比较实例分析的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: php redis key,redis
- 下一篇: 动态规划算法php,php算法学习之动态