我有这个功能,试图对输入的数字进行计数。
quantity_digits :: Float -> Int
quantity_digits a = (round(round(log(a))+0.5))
我知道,以数字的10为底的最大对数舍入会得出该数字的位数。
有了这些数据,我想实现一个应用此原理的函数,这意味着舍入函数不会舍入到最大,而是舍入到最小。
然后我想到进行四舍五入,但是我不知道如何在haskell中进行此操作。怎么办?
答案 0 :(得分:0)
方法之一是使用上限关键字和Base10日志功能。 因此:
quantity_digits :: Float -> Int
quantity_digits a = ceiling(logBase 10(a))