Thanks!
I'll try CReal.
But can I set significant figures myself?


On Wed, Feb 6, 2013 at 6:50 AM, Brandon Allbery <allbery.b@gmail.com> wrote:
On Tue, Feb 5, 2013 at 5:41 PM, yi lu <zhiwudazhanjiangshi@gmail.com> wrote:
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.

Welcome to the world of floating point numbers.  Perfect accuracy is not possible; the CReal type from the "numbers" package may handle cases you care about, or may not.  (Other languages often use output formats that can largely hide the errors, but they're still there and will eventually accumulate into visibility.)

--
brandon s allbery kf8nh                               sine nomine associates
allbery.b@gmail.com                                  ballbery@sinenomine.net
unix, openafs, kerberos, infrastructure, xmonad        http://sinenomine.net

_______________________________________________
Beginners mailing list
Beginners@haskell.org
http://www.haskell.org/mailman/listinfo/beginners