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

 ID:                 53667
 Updated by:         ka...@php.net
 Reported by:        diego at agudo dot eti dot br
 Summary:            number_format problem in empty string
-Status:             Open
+Status:             Bogus
 Type:               Bug
 Package:            *Math Functions
 Operating System:   Debian-5
 PHP Version:        5.3.4
 Block user comment: N
 Private report:     N

 New Comment:

This is global for the parameter parsing API thats used across all
functions within the PHP core. The thing is that "" cannot be converted
to a double as there is no value, whereas "0" can be converted to a
numeric value, "0" => 0 => (double) 0.



You should validate the input before sending it to the function, or
alternatively forcing type casting which is an ugly hack but it fixes
the problem for you:

number_format((double) $x);


Previous Comments:
------------------------------------------------------------------------
[2011-01-06 12:59:24] diego at agudo dot eti dot br

Description:
------------
The problem occurs in version 5.3.4, the same situation does not create
problems in version 5.2.6.



Passing an empty string as a parameter is generated an error that the
parameter must be of type double the problem does not occur if the same
string is not empty.

Test script:
---------------
Example 01:

Code: 

<?

 $x = "";

 echo "-->". number_format($x);

?>



Output:

Warning: number_format() expects parameter 1 to be double, string given
in /www/htdocs/test.php on line 5

-->



Example 02:

<?

 $x = "0";

 echo "-->". number_format($x);

?>



Output:

-->0

Expected result:
----------------
I hope the developers look fondly and fix this problem. Although
trivial, many other applications users can also get this problem.



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



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

Reply via email to