Edit report at http://bugs.php.net/bug.php?id=47304&edit=1

 ID:               47304
 Comment by:       ola dot andersson at liko dot se
 Reported by:      lennartvdd at mailordersolutions dot nl
 Summary:          typecast of numeric string to float produces strange
                   result
 Status:           Feedback
 Type:             Bug
 Package:          Scripting Engine problem
 Operating System: win32 only
 PHP Version:      5.2.9
 Assigned To:      pajoye

 New Comment:

Thank you for your suggestion pajoye.



Neither php-5.3.2-nts-Win32-VC6-x86 or php-5.3.2-nts-Win32-VC9-x86
include the extension php_mssql.dll. Without this extension I am not
able to properly upgrade and test our systems with this version of PHP.




Howcome php_mssql is no longer included with the distributions?


Previous Comments:
------------------------------------------------------------------------
[2010-07-12 13:48:17] paj...@php.net

Please try with 5.3.2 or 5.3.3RC2 VC9 version.

------------------------------------------------------------------------
[2010-07-12 12:53:18] ola dot andersson at liko dot se

Error occur also when fetching data from a MS SQL server having the
column value 290.00 (database Money format). 



$query ="select pris from sa_jobb_3_1 WHERE id='".$id."'";

$result = mssql_query($query) or die($query);

$row = mssql_fetch_array($result,MSSQL_ASSOC);

printf("%f",$row['pris']);                      



The code above outputs incorrectly 28:.000000 and not as expected
290.000000

------------------------------------------------------------------------
[2010-07-12 12:43:14] ola dot andersson at liko dot se

The same error occurred for me. The installation is PHP 5.2.13 installed
on IIS7/Win server 2008.



Writing a script as suggested (see below) produces incorrect output for
the echo function. The error is however intermittent. 



When refreshing the browser and rerunning the script several times
(perhaps 20-40 times) the correct numbers are sometimes displayed and
sometimes the incorrect.



Script used for testing:



for ($i=0; $i<400; $i++)

{

echo $i."-";

printf("%f\n",$i);

}

------------------------------------------------------------------------
[2010-06-15 03:49:17] xiaobo dot bob at gmail dot com

I have a win32 program writing in delphi using the component php4delphi
that can reproduce this problem. if someone need it, i can email it to
you.



or if some one can help me to compile php under vc6 with the .dsp (I can
compile 5.3.2 using nmake of vc++9, with the step-by-step direction of
the manual, but failed to compile using .dsp project). i have tried to
use the windbg.exe with the downloaded debug pack to trace into the
code, it seems the problem happens in the function php_conv_fp in
snprintf.c, but as the local variables always "memory access error", i
can't make any progress.

------------------------------------------------------------------------
[2010-06-14 14:29:27] xiaobo dot bob at gmail dot com

i tried set precision to 5/14/20, and keep the serialize_precision =
100.



"echo number_format(1900.0,2)" is always wrong.



here is my code:



echo ini_get("precision")."/".ini_get("serialize_precision")."<br>";

echo number_format(1900.0,2)."-------\n";

------------------------------------------------------------------------


The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at

    http://bugs.php.net/bug.php?id=47304


-- 
Edit this bug report at http://bugs.php.net/bug.php?id=47304&edit=1

Reply via email to