Forgot to mentions that it works fine with odds such a 0.333333333333 or 0.55555555555 but not for evens such as 0.444444 Thanks ________________________________________ From: Haskell-Cafe <haskell-cafe-bounces@haskell.org> on behalf of Chapman, Anthony Sergio <a.s.chapman.10@aberdeen.ac.uk> Sent: 20 April 2014 22:12 To: Haskell Cafe Subject: [Haskell-cafe] Problem with percentage function? Good evening everyone. I've made a percentage function for my application (with help from the internet) which is as follows. -- Turns a number into a percentage toPerc :: Double -> Double toPerc x = 100*(myRound x 4) -- Rounds a number to s decimal points myRound n s = fromIntegral (round (n * factor)) / factor where factor = fromIntegral (10^s) I would it to round to 2 decimal places no matter what the size of the input is ei toPerc 0.22222222222222 --- = 22.22 toPerc 0.22342222222222 --- = 22.34 The problem is that what I actually get is 22.220000000000002 If anyone has any suggestions on how to solve this problem or know of a different/better way to convert to percentage please let me know. Thanks _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe