舍入数到指定的位数

ami*_*dfv 20 numerical haskell

是否有简单的函数来舍入a DoubleFloat指定的位数?我在这里搜索过Hoogle(for (Fractional a) => Int -> a -> a),但没有找到任何东西.

ala*_*and 35

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

 (fromInteger $ round $ f * (10^n)) / (10.0^^n)
Run Code Online (Sandbox Code Playgroud)

  • 看起来没有人使用标准库版本,所以我将把它标记为已接受——效果很好;谢谢。 (2认同)

npo*_*cop 11

这取决于你要用舍入数字做什么.

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

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