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