Delphi32.com - Home!
| Home/News | Downloads | Forums | D32 Magazine | Resources | Info and Facts |  
 
 Working with Floating Point, Double, Single, Real, Extended types


I have two floating point values that are the same, yet when I compare them using " if d = d2 then .. " or " if d <> d2 then .. " the results are incorrect. Is this a bug?   

    No. Unlike integers, IEEE floating point numbers are only approximates, not exact numbers. You should never use = or <> to compare two floating point numbers. Instead, subtract the two numbers and compare them against a very small number. Example: if abs(d -d2) < 0.0000 then ShowMessage('D and D2 are equal');

     



  << Previous Faq     Complete List     Next Faq >>  



 
 Hits/month  2,500,000+ 
 Downloads
 (Since May 2000)
 7,393,709 
 Total Files  6,023 
 Forum msgs  7,670 
 Articles/FAQs  70+/900+ 
Kylix
Tips n Tricks
FAQs
Knowledge Base
Bug Listings
Articles
Books
Newsgroups
Links
Submissions
Testimonials
Advertising
Contact Us
About Us
Search Amazon:
Top Selling Software at Amazon

| Home/News | Downloads | Forums | Resources | Info and Facts | Testimonials |
  Site Search:
 


Comments/Problems: Webmaster@delphi32.com
Copyright © 1998-2006, Delphi32.com. All rights reserved.
Terms of Use