国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

php - 過(guò)大浮點(diǎn)型資料比較大小
曾經(jīng)蠟筆沒(méi)有小新
曾經(jīng)蠟筆沒(méi)有小新 2017-06-21 10:11:00
0
4
965
$a = 12345678912345678.8;
$b = 12345678912345678.9;

就這2個(gè)不同數(shù)字,if($a == $b){echo '相等';}結(jié)果輸出'相等',我知道是太大超出他的範(fàn)圍,單獨(dú)輸出$a的結(jié)果是: 1.2345678912346E 16十六進(jìn)位的,請(qǐng)問(wèn)像這種大的數(shù)據(jù)如何比較最好?

曾經(jīng)蠟筆沒(méi)有小新
曾經(jīng)蠟筆沒(méi)有小新

全部回覆(4)
某草草

php BC高精確度函數(shù)庫(kù)

if(bcsub($a,$b,1)==0){
    echo '相等';
}
扔個(gè)三星炸死你

雷雷

僅有的幸福

經(jīng)過(guò)自己電腦上測(cè)試當(dāng)長(zhǎng)度超過(guò)14位元時(shí), PHP就會(huì)益出。 不一樣的系統(tǒng) 不一樣的PHP版長(zhǎng)度益出會(huì)不一樣。

相關(guān)資料 官方手冊(cè)

方法1:

$a = '12345678912345678.6';
$b = '12345678912345678.9';
if($a == $b) {
    echo 1;
}

方法2:
這裡只提供下思路

如果想要直接透過(guò)浮點(diǎn)來(lái)比較沒(méi)有找到方法。

  1. 先將以.分隔

  2. 取得整數(shù)部分位數(shù),比較長(zhǎng)度,再比較大小。

  3. 諾整數(shù)部分相等再比較小數(shù)部分。

Tip:考慮到數(shù)的無(wú)限大,也要注意分隔之後的數(shù)長(zhǎng)度的益出,若益出再進(jìn)行分隔。

洪濤

雷雷

最新下載
更多>
網(wǎng)站特效
網(wǎng)站源碼
網(wǎng)站素材
前端模板