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

  • 30GB

    30GB

    14 AĞUSTOS 2006
  • hydejiaqi

    hydejiaqi

    12 Mart 2008
  • tatermoog

    tatermoog

    2 AĞUSTOS 2006