22

是否有一个简单的函数可以将 a 舍入DoubleFloat指定的位数?我在这里和 Hoogle 上搜索过(对于(Fractional a) => Int -> a -> a),但没有找到任何东西。

4

3 回答 3

39

不确定是否存在任何标准功能,但您可以这样做:

 (fromInteger $ round $ f * (10^n)) / (10.0^^n)
于 2012-09-16T21:11:40.047 回答
15

这取决于您将如何处理四舍五入的数字。

如果你想在计算中使用它,你应该Data.DecimalDecimal库中使用。

如果你只想很好地格式化数字,你应该使用Text.Printf标准库(base包)。

于 2012-09-17T05:49:23.107 回答
-1
λ: ((/100) $ fromIntegral $ round (0.006 * 100)) == 0.006
λ: False

λ: ((/100) $ fromIntegral $ round (0.06 * 100)) == 0.06
λ: True
于 2015-01-05T17:06:36.670 回答