#43453 [Opn->Bgs]: wrong result if the decimal is not a dot
| From: | felipe@php.net | Date: | Thu, 29 Nov 2007 18:07:25 +0000 |
| Subject: | #43453 [Opn->Bgs]: wrong result if the decimal is not a dot | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-120228@lists.php.net to get a copy of this message | ||
ID: 43453
Updated by: felipe@php.net
Reported By: bammo_merdini at hotmail dot com
-Status: Open
+Status: Bogus
Bug Type: *Math Functions
Operating System: Windows XP Pro
PHP Version: 5.2.5
New Comment:
Thank you for taking the time to write to us, but this is not
a bug. Please double-check the documentation available at
http://www.php.net/manual/ and the instructions on how to
report
a bug at http://bugs.php.net/how-to-report.php
With comma the value isn't treat as float. Then, when it is converted,
the part after ',' is removed. See:
$number = number_format(1000000/1024, 2, ",", "");
var_dump($number); // string(6) "976,56"
var_dump((float) $number); // float(976)
Previous Comments:
------------------------------------------------------------------------
[2007-11-29 16:19:18] bammo_merdini at hotmail dot com
Description:
------------
If I use number_format() with "." as decimal point and then round it
with 1 decimal, it'll work fine, but not if the decimal point is ",".
I'm using WAMP5 and haven't done any changes at all to php.ini.
Reproduce code:
---------------
<?php
$number = number_format(1000000/1024, 2, ".", "");
echo "A: ".round($number, 2);
$number = number_format(1000000/1024, 2, ",", "");
echo "B: ".round($number, 2);
?>
Expected result:
----------------
A: 976.56
B: 976,56
Actual result:
--------------
A: 976.56
B: 976
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=43453&edit=1