haskell numerical

haskell - Redondear el número al número especificado de dígitos



numerical (3)

Depende de lo que vaya a hacer con el número redondeado.

Si desea utilizarlo en los cálculos, debe usar Data.Decimal from Decimal library.

Si solo desea dar formato al número Text.Printf , debe usar Text.Printf de la biblioteca estándar (paquete base ).

¿Existe una función simple para redondear un Double o Float a un número específico de dígitos? He buscado aquí y en Hoogle (para (Fractional a) => Int -> a -> a ), pero no he encontrado nada.


No estoy seguro de si existe alguna función estándar, pero puedes hacerlo de esta manera:

(fromInteger $ round $ f * (10^n)) / (10.0^^n)


λ: ((/100) $ fromIntegral $ round (0.006 * 100)) == 0.006 λ: False λ: ((/100) $ fromIntegral $ round (0.06 * 100)) == 0.06 λ: True