Ответ 1
Не уверен, существует ли какая-либо стандартная функция, но вы можете сделать это следующим образом:
(fromInteger $ round $ f * (10^n)) / (10.0^^n)
Есть ли простая функция для округления Double
или Float
к указанному числу цифр? Я искал здесь и в Hoogle (для (Fractional a) => Int -> a -> a
), но ничего не нашел.
Не уверен, существует ли какая-либо стандартная функция, но вы можете сделать это следующим образом:
(fromInteger $ round $ f * (10^n)) / (10.0^^n)
Это зависит от того, что вы собираетесь делать с округленным числом.
Если вы хотите использовать его в вычислениях, вы должны использовать библиотеку Data.Decimal
из Decimal
.
Если вы хотите просто форматировать номер красиво, вы должны использовать Text.Printf
из стандартной библиотеки (base
package).
λ: ((/100) $ fromIntegral $ round (0.006 * 100)) == 0.006
λ: False
λ: ((/100) $ fromIntegral $ round (0.06 * 100)) == 0.06
λ: True