MFC floating point precision problem
Hi all,
I use VS 2005 and my MFC application is a simple calculator. When I have
double x = 0.3 + 0.4, x is 0.699...8. Also when I cast the string "0.3" to double I get 0.299...8. Can you tell me where the problem is? Is it a compiler issue? Any help will be usefull.
Thanks in advance and regards,
Peter.
Re: MFC floating point precision problem
First off, floats aren't exact: There's no way around it, that's just how it is.
Second, I hope you meant convert "0.3" to double, because casting a string to double would be very, very wrong.
Re: MFC floating point precision problem
Yes, I meant convert. I use _tstof to convert it to double. So, If I want in my calculator 0.3 + 0.3 to be 0.6, I shouldn't use double or float? If I need precise floating point how to this - string manipulations?
Re: MFC floating point precision problem
You could use an infinite precision library. Probably a waste of effort, though----just use IO formatting to round off any precision issues on the display.