PHP de DOUBLE ve FLOAT işlem hatası

PHP programlama dilindi yaşanabilecek çok ilginç bir sorun. Double ve Float değerlerde matematiksel hesaplarda küsüratlı hatalar ile karşılaşabilirsiniz.

Türkçe içerikli PHP sitelerinde hataya dair bir bilgi ile karşılaşmadım. Sorunun çözümü için şu an için integer mantıklı geliyor.

Örnek verecek olursak:

$dtest = 0.0;
$dtest = 10.000000000000000 + 13.690000000000000;

$toplam = 23.690000000000000
$toplam1 = 23.689999999999998

23.69 olması gereken toplamanın 23.689999999999998 olması gibi..

Başka bir örnek:

$f = 2.26;
$g = $f*100;
echo((int)($g)."::".intval($g)."::".$g."");
//cikti = 225::225::226

$f = 2.26;
$g = $f*1000/10;
echo((int)($g)."::".intval($g)."::".$g."");

Yeni yorum gönder

Bu alanın içeriği gizli tutulacak ve açıkta gösterilmeyecektir.
  • Web sayfası ve e-posta adresleri otomatik olarak bağlantıya çevrilir.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <img>
  • Satır ve paragraflar otomatik olarak bölünürler.

Biçimleme seçenekleri hakkında daha fazla bilgi

Anket

Web sitesinde hangisi daha önemlidir: