Groups | Blog | Home
all groups > dotnet framework > september 2006 >

dotnet framework : Floating Point Calculation Problem



DJ
9/29/2006 1:16:01 PM
Hello,

In an application that worked fine until recently I have started to have
problems with calculations involving two doubles. For example: -24.708 +
26.0 = 1.2920000000000016, however, -24.708 + 8.0 = -16.708. What would
cause this? I don't think the numbers are so large that it would be the
usual floating point calculation error because of rounding. How can I fix
it? I'd rather not change every calcuation in my program to include a
math.round...

..Net Framework 1.1 version 1.1.4322 SP1
Visual Basic - Visual Studio .Net 2003
Windows XP

Chris Saunders
9/29/2006 5:42:11 PM
The size of your numbers are not relevant to this issue.
Here is an URL with an article you should probably read if you wish to
better
understand this issue: http://docs.sun.com/source/806-3568/ncg_goldberg.html

I know nothing about your application but you may indeed need something
along the lines you suggested.

Regards
Chris Saunders

[quoted text, click to view]

Jon Skeet [C# MVP]
9/30/2006 7:13:30 PM
[quoted text, click to view]

See http://www.pobox.com/~skeet/csharp/floatingpoint.html

--
Jon Skeet - <skeet@pobox.com>
http://www.pobox.com/~skeet Blog: http://www.msmvps.com/jon.skeet
Nick Malik [Microsoft]
9/30/2006 9:12:56 PM
[quoted text, click to view]

I don't see a problem here. Why do you?

[quoted text, click to view]

Who said size has anything at all to do with this calculation? Rounding
doesn't just happen for very large numbers. It happens for all of them.

[quoted text, click to view]

Decimal datatype

[quoted text, click to view]

AddThis Social Bookmark Button