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

  • BiGSH0TROB

    BiGSH0TROB

    7 NİSAN 2011
  • Mark Hyder

    Mark Hyder

    6 EKİM 2011
  • STITCHLESS TV how to sew your own style tutorials

    STITCHLESS T

    9 HAZİRAN 2011