SORU
30 HAZİRAN 2010, ÇARŞAMBA


Php yüzer karşılaştırın

İki yüzer bu örnek kod gibi PHP karşılaştırmak istiyorum:

$a = 0.17;
$b = 1 - 0.83; //0.17
if($a == $b ){
 echo 'a and b are same';
}
else {
 echo 'a and b are not same';
}

Bu kod $a $b aynı olsa if koşul yerine else koşul sonuç verir. Belirli bir şekilde işlemek için/PHP yüzer karşılaştırmak var mı?

Evet O bana bu sorunu çözmek için yardımcı olun.

Yoksa benim sunucu yapılandırma ile ilgili bir sorun?

CEVAP
30 HAZİRAN 2010, ÇARŞAMBA


Eğer bunu yaparsanız bu böylegerekiraynı olması. Ama kayan nokta değeri bir özelliği olan bu hesaplamalar olduğunu unutmayıngibi görünüyoraynı değer neden aslında aynı olması gerekmez. Eğer öyleyse $a sabit değer ise .17 $b Her ikisi de aynı değeri gösterir de olsa orada da farklı olduklarını edilebilir bir hesaplama ile geldi.

Genellikle böyle eşitlik için kayan nokta değerleri karşılaştır, en küçük kabul edilebilir bir fark kullanmanız gerekir:

if (abs(($a-$b)/$b) < 0.00001) {
  echo "same";
}

Onun gibi bir şey.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Absolute Zero(Programming Tutorials)

    Absolute Zer

    22 Kasım 2012
  • Eric Magidson

    Eric Magidso

    4 Ocak 2009
  • TheForgottenGamer1

    TheForgotten

    28 AĞUSTOS 2009