在Haskell中,可以使用内置的函数properFraction
来实现浮点数的floor
和fract
。
floor
函数用于向下取整,即返回不大于给定浮点数的最大整数。可以使用properFraction
函数结合fst
来实现:floor' :: RealFrac a => a -> Integer
floor' x = fst (properFraction x)
这里的properFraction
函数将浮点数拆分为整数部分和小数部分的元组,fst
函数取出整数部分作为结果。
fract
函数用于获取浮点数的小数部分,即返回给定浮点数减去其向下取整后的结果。同样可以使用properFraction
函数结合snd
来实现:fract :: RealFrac a => a -> a
fract x = snd (properFraction x)
这里的snd
函数取出小数部分作为结果。
这种方法可以适用于任何浮点数类型,包括Float
和Double
。
推荐的腾讯云相关产品和产品介绍链接地址:
领取专属 10元无门槛券
手把手带您无忧上云