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

php - Saiz perbandingan data terapung terlalu besar
曾經(jīng)蠟筆沒(méi)有小新
曾經(jīng)蠟筆沒(méi)有小新 2017-06-21 10:11:00
0
4
966
$a = 12345678912345678.8;
$b = 12345678912345678.9;

Dengan dua nombor yang berbeza ini, jika($a == $b){echo 'equal';} output hasil adalah 'equal' saya tahu ia terlalu besar dan melebihi julatnya Hasil daripada output $a sahaja : 1.2345678912346E +16 perenambelasan, apakah cara terbaik untuk membandingkan data besar tersebut?

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

membalas semua(4)
某草草

php BC pustaka fungsi ketepatan tinggi

if(bcsub($a,$b,1)==0){
    echo '相等';
}
扔個(gè)三星炸死你
$a = 12345678912345678.8;
$b = 12345678912345678.9;
$a = (string)$a;
$b = (string)$b;
if ($a == $b) {
    echo '相等';
}
僅有的幸福

Selepas menguji pada komputer saya sendiri, apabila panjangnya melebihi 14 aksara, PHP akan gagal. Sistem yang berbeza dan versi PHP yang berbeza akan mempunyai panjang yang berbeza.

Manual rasmi maklumat berkaitan

Kaedah 1:

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

Kaedah 2:
Hanya idea berikut disediakan di sini

Kalau nak bandingkan terus melalui floating point pun tak boleh.

  1. Pertama dipisahkan oleh

  2. Dapatkan bilangan digit dalam bahagian integer, bandingkan panjang, dan kemudian bandingkan saiznya.

  3. Jika bahagian integer adalah sama, kemudian bandingkan bahagian perpuluhan.

Petua: Memandangkan nombor itu tidak terhingga, anda juga harus memberi perhatian kepada panjang nombor selepas pemisahan.

洪濤
<?php
    $a = 12345678912345678.8;
    $b = 12345678912345678.9;
    if (strval($a) == strval($b)) {
        echo '相等';
    }
?>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan