Re: sprintf() oddity

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



You are going beyond the number of significant digits PHP can handle so it is truncating beyond that. In the second case it look sstrange, the 12305 ending, but it is probably a 'round' number if you put it in binary, but it turns funny when converted to decimal. In the last example, the precision does not even reach the decimal part.


----- Original Message ----- From: "Chris Boget" <chris.boget@xxxxxxxx>
To: <php-general@xxxxxxxxxxxxx>
Sent: Tuesday, April 18, 2006 5:19 PM
Subject:  sprintf() oddity


What's going on here:

$number = 5000000000.1234567890;
echo sprintf( '%.05f', $number );

result: 5000000000.12346

$number = 5000000000000.1234567890;
echo sprintf( '%.05f', $number );

result: 5000000000000.12305

$number = 5000000000000000.1234567890;
echo sprintf( '%.05f', $number );

result: 5000000000000000.00000

Why isn't it formatting the decimals properly? And apparently losing
some?

Running PHP 4.3.11 on Windows Server 2003 box.

thnx,
Chris

--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php


[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux