[Haskell-beginners] How to improve the accuracy of floating point calculation?

Hollister Herhold hollister at fafoh.com
Tue Feb 5 23:52:34 CET 2013


The issue is that floating point numbers are really not precise. 

This is not inherent to Haskell in particular - any given computer (and programming language) is subject to lack of precision for floating point numbers. You can take a look at the wikipedia entry (http://en.wikipedia.org/wiki/Floating_point_numbers).

If you want a really "meaty" description of the issues involved, take a look at Knuth's "Seminumerical Algorithms".


On Feb 5, 2013, at 4:41 PM, yi lu wrote:

> Hi,
> 
> I found that in ghci, I input 
> [0.1,0.2..2]
> and run, I get a result of 
> 
> [0.1,0.2,0.30000000000000004,0.4000000000000001,0.5000000000000001,0.6000000000000001,0.7000000000000001,0.8,0.9,1.0,1.1,1.2000000000000002,1.3000000000000003,1.4000000000000004,1.5000000000000004,1.6000000000000005,1.7000000000000006,1.8000000000000007,1.9000000000000008,2.000000000000001]
> 
> But, as you know, it is not the exact answer.
> 
> So, I wonder if there is something I can do to achieve a better performance and get [0.1,0.2,0.3,0.4..] as the result.
> 
> Thanks.
> _______________________________________________
> Beginners mailing list
> Beginners at haskell.org
> http://www.haskell.org/mailman/listinfo/beginners




More information about the Beginners mailing list