php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #25562 Float to String to Float conversion error
Submitted: 2003-09-16 15:34 UTC Modified: 2003-09-16 16:24 UTC
From: daseymour at 3hc dot org Assigned:
Status: Not a bug Package: Math related
PHP Version: * OS: *
Private report: No CVE-ID: None
View Developer Edit
Welcome! If you don't have a Git account, you can't do anything here.
If you reported this bug, you can edit this bug over here.
(description)
Block user comment
Status: Assign to:
Package:
Bug Type:
Summary:
From: daseymour at 3hc dot org
New email:
PHP Version: OS:

 

 [2003-09-16 15:34 UTC] daseymour at 3hc dot org
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!"

Patches

Pull Requests

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2003-09-16 16:00 UTC] helly@php.net
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

Floating point values are handled with a limited precision.
 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Sat Dec 21 12:01:31 2024 UTC