Bug #62792 [Nab]: number_format with largue numbers is broken
Edit report at https://bugs.php.net/bug.php?id=62792&edit=1
ID: 62792
Updated by: aharvey@php.net
Reported by: brodanoel at gmail dot com
Summary: number_format with largue numbers is broken
Status: Not a bug
Type: Bug
Package: Strings related
Operating System: Red Hat
PHP Version: 5.3.15
Block user comment: N
Private report: N
New Comment:
9999999999999999999 is beyond the maximum value an integer variable can hold in
PHP, and is automatically converted to a floating point value.
Previous Comments:
------------------------------------------------------------------------
[2012-08-13 10:29:08] brodanoel at gmail dot com
But... Here not have float numbers. Is a Integer.
And is not necesary a Mathematical operation in this function (number_format)
------------------------------------------------------------------------
[2012-08-11 04:40:59] aharvey@php.net
Floating point values have a limited precision. Hence a value might
not have the same string representation after any processing. That also
includes writing a floating point value in your script and directly
printing it without any mathematical operations.
If you would like to know more about "floats" and what IEEE
754 is, read this:
http://www.floating-point-gui.de/
Thank you for your interest in PHP.
------------------------------------------------------------------------
[2012-08-10 13:39:25] brodanoel at gmail dot com
Description:
------------
Using the number_format function with largue numbers, the value returned is the real + 1
Test script:
---------------
number_format(9999999999999999999, 0, '', '.')
Expected result:
----------------
9.999.999.999.999.999.999
Actual result:
--------------
10.000.000.000.000.000.000
------------------------------------------------------------------------
--
Edit this bug report at https://bugs.php.net/bug.php?id=62792&edit=1
Thread (4 messages)