Re: Weird results of "=="

From: Date: Tue, 23 Aug 2005 22:52:00 +0000
Subject: Re: Weird results of "=="
References: 1 2  Groups: php.general 
Request: Send a blank email to php-general+get-221219@lists.php.net to get a copy of this message
Jasper Bryant-Greene wrote:
Am I missing something really obvious here?
This is an inherent problem with floating-point operations, especially comparison, and is not unique to PHP. Often numbers will be off by some miniscule amount, just enough to make them not equal. What I would do in this situation is create a function float_equals(), after deciding what delta is acceptable for your situation, like this: define('MAX_FLOAT_DELTA', 0.001); // Or whatever is acceptable for you function float_equals($a, $b) {
    return (abs($a - $b) <= MAX_FLOAT_DELTA);
} Then use float_equals($x, $y) instead of $x == $y. Jasper Couldn't have said it better!
Evert

« previous php.general (#221219) next »