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."
");


1 yorum

Faydalı

Tskler Arkadsım Bu bilgi Yeterince Acıklayıcı oldu Çok Saolun

28.06.2010 - seslichat paneli

Konular

Hanci.org sizlere daha iyi hizmet sunmak için çerezleri kullanıyor.
Hanci.org sitesini kullanarak çerez politikamızı kabul etmiş olacaksınız.
Detaylı bilgi almak için Gizlilik ve Çerez Politikası metnimizi inceleyebilirsiniz.