|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
[2003-09-16 16:00 UTC] helly@php.net
|
|||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Wed Oct 29 07:00:01 2025 UTC |
Description: ------------ When I convert a large float value to a string and then back to a float, the original and the resulting values are not equal. Note: I looked for this error in the bug list, but did not find one with the current stable release of PHP (4.3.3). Thanks in advance. Reproduce code: --------------- // Create some large number $testStart = (float) unserialize("d:1125899906842624;"); // Output value echo "Before string conversion: $testStart <br>\n"; // Convert value to string $testString = (string) $testStart; // Output string echo "After string conversion: $testString <br>\n"; // Convert string back to a value $testEnd = (float) $testString; // Output value echo "After float conversion: $testEnd <br>\n"; // Compare the two values if( $testStart == $testEnd ) { echo "<br>\nThe two values are equal.<br>\n"; } else { echo "<br>\nThe two values appear to be the same, but are <u>not</u> equal!<br>\n"; }; Expected result: ---------------- I expect to see "The two values are equal." Actual result: -------------- I am getting "The two values appear to be the same, but are not equal!"