Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:61657 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 30595 invoked from network); 24 Jul 2012 08:01:51 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 24 Jul 2012 08:01:51 -0000 Authentication-Results: pb1.pair.com header.from=robin@kingsquare.nl; sender-id=unknown Authentication-Results: pb1.pair.com smtp.mail=robin@kingsquare.nl; spf=permerror; sender-id=unknown Received-SPF: error (pb1.pair.com: domain kingsquare.nl from 212.54.34.166 cause and error) X-PHP-List-Original-Sender: robin@kingsquare.nl X-Host-Fingerprint: 212.54.34.166 smtpq3.gn.mail.iss.as9143.net Linux 2.6 Received: from [212.54.34.166] ([212.54.34.166:34906] helo=smtpq3.gn.mail.iss.as9143.net) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 7B/C6-17533-D665E005 for ; Tue, 24 Jul 2012 04:01:50 -0400 Received: from [212.54.34.132] (helo=smtp1.gn.mail.iss.as9143.net) by smtpq3.gn.mail.iss.as9143.net with esmtp (Exim 4.71) (envelope-from ) id 1Sta3u-0002oX-6g for internals@lists.php.net; Tue, 24 Jul 2012 10:01:46 +0200 Received: from 5351426c.cm-6-2b.dynamic.ziggo.nl ([83.81.66.108] helo=[10.0.0.110]) by smtp1.gn.mail.iss.as9143.net with esmtpsa (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1Sta3u-00043c-0J for internals@lists.php.net; Tue, 24 Jul 2012 10:01:46 +0200 Message-ID: <500E566C.7040206@kingsquare.nl> Date: Tue, 24 Jul 2012 10:01:48 +0200 Organization: Kingsquare Information Services User-Agent: Mozilla/5.0 (Windows NT 6.1; rv:14.0) Gecko/20120713 Thunderbird/14.0 MIME-Version: 1.0 To: internals@lists.php.net Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Authenticated-Sender: kingsquare@ziggo.nl (via SMTP) X-Ziggo-spambar: / X-Ziggo-spamscore: -0.4 X-Ziggo-spamreport: ALL_TRUSTED=-1,BAYES_00=-1.9,CM_META_TB_NOARR=0.5,FF_IHOPE_YOU_SINK=1.699,HK_MUCHMONEY=0.3 X-Ziggo-Spam-Status: No X-Spam-Status: No X-Spam-Flag: No Subject: Working with floats From: robin@kingsquare.nl ("Kingsquare.nl - Robin Speekenbrink") Hi all, First of all, let me state that the following question is probably going to shun me forever due to the 'basic' nature of the question and the probable misunderstanding of floats in general, but still this got me baffled and i'd like to post this here: Why does the last of the following examples lower my key to 18 BUT does the var dump of the float clearly state 'float(19)' as the actual value: 1); var_dump($arr); $i = (float)19.000000000000000000; var_dump($i); $arr = array($i=>1); var_dump($arr); $i = (float)18.99999999999999999; var_dump($i); $arr = array($i=>1); var_dump($arr); $i =(float) .19; $i *= 100; var_dump($i); $arr = array($i=>1); var_dump($arr); $i =(float) 0.19; $i *= 100; var_dump($i); $arr = array($i=>1); var_dump($arr); $i =(float) 1.19; $i -= 1; $i *= 100; var_dump($i); $arr = array($i=>1); var_dump($arr); ?> I do know this is not really an internals thing, but after fiddling with this for some time, i gave up (bug 32671 might relate to this) Again, if i'm to be regarded as a traditional n00b, i understand as i've seen float / casting discussions before.