舍入Haskell中的最大整数

时间:2018-09-28 18:54:27

标签: haskell rounding

我有这个功能,试图对输入的数字进行计数。

quantity_digits :: Float -> Int
quantity_digits a = (round(round(log(a))+0.5))

我知道,以数字的10为底的最大对数舍入会得出该数字的位数。

有了这些数据,我想实现一个应用此原理的函数,这意味着舍入函数不会舍入到最大,而是舍入到最小。

然后我想到进行四舍五入,但是我不知道如何在haskell中进行此操作。怎么办?

1 个答案:

答案 0 :(得分:0)

方法之一是使用上限关键字和Base10日志功能。 因此:

quantity_digits :: Float -> Int
quantity_digits a = ceiling(logBase 10(a))