#31504 [Asn]: -Infinity value returned for long float nums

From: Date: Thu, 13 Jan 2005 02:41:43 +0000
Subject: #31504 [Asn]: -Infinity value returned for long float nums
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-72026@lists.php.net to get a copy of this message
ID: 31504 User updated by: charlesb at ekit-inc dot com Reported By: charlesb at ekit-inc dot com Status: Assigned Bug Type: Variables related Operating System: sol9 i86, sol8 sparc, sol9 sparc PHP Version: 4.3.10 Assigned To: derick New Comment: Can't help you with access to a sol box, but I can confirm it is that function at fault. On FC 1 the following C code produces the correct result but on solaris it produces -Inf, ie is a bug. You might be interested to know that the solaris strtod function can handle the number no problems, so if you rolled your own zend_strtod function to get around an OS bug, you don't need to for Solaris :) char *cp; double a = zend_strtod("6.48261999999999982691178956883959472179", &cp); printf("%g\n", a); Previous Comments: ------------------------------------------------------------------------ [2005-01-12 09:13:35] derick@php.net This works fine for me on Linux, I will need access to a solaris machine with GDB installed to try to fix this... it's most likely related to our new zend_strtod functions. ------------------------------------------------------------------------ [2005-01-12 03:39:12] charlesb at ekit-inc dot com Description: ------------ Basically we're seeing long floats being given a string value of -Infinity, even if we explicitly cast the variable. Python can handle these vars no problem, don't see why PHP can't? Thanks Reproduce code: --------------- <?php $a = '6.48261999999999982691178956883959472179'; $c = (double) $a; $b = sprintf("%0.2f", $c); print $c.' '.$b; ?> Expected result: ---------------- 6.48261999999999982691178956883959472179 6.48 Actual result: -------------- -Infinity -0N ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=31504&edit=1

« previous php.bugs (#72026) next »