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

  • Ash100HD

    Ash100HD

    29 EKİM 2011
  • Gigawipf

    Gigawipf

    18 ŞUBAT 2010
  • Jack Vale Films

    Jack Vale Fi

    8 ŞUBAT 2007