[Haskell-cafe] round function
sebastian.sylvan at gmail.com
Sun Feb 12 16:23:17 EST 2006
On 2/12/06, Chatzianastassiou Achilleas <achatzianastassiou at hotmail.com> wrote:
> Hi all,
> I am trying to implement a function that finds the significant figure of a
> number to a specified point i.e. 2.55555 3 = 2.556. I have implemented
> something like:
> sig :: (RealFrac a, Integral b) => a -> Int -> a
> sig x y = round y
> However this doesn't work. Moreover at the Prelude when i type round 2.3333
> 2 i get an error.
> Any suggestions?
myround n s = fromIntegral (round (n * factor)) / factor
where factor = fromIntegral (10^s)
Basically scaling it to bring the specified number of digits to the
left of the decimal point, then rounding, then scaling back.
More information about the Haskell-Cafe