gpt4 book ai didi

haskell - 如何转换 a -> Float?

转载 作者:行者123 更新时间:2023-12-04 20:49:12 26 4
gpt4 key购买 nike

我认为我可以将 fromEnum 用于 a -> Int 但我如何为 a -> Float 使用它。我需要我的变量是一个 Float 才能让我的函数工作,但我不知道如何转换它?我已经阅读了 Prelude,但看不到任何可行的方法。对不起,如果这是一个非常愚蠢的问题,但我才刚刚开始。

最佳答案

这取决于a是什么。如果 a 是 Integral 的实例,例如 IntInteger , 您可以使用

fromIntegral :: (Integral a, Num b) => a -> b

如果 a 是 Real 的实例,例如 Rational 或 Double,则可以使用
realToFrac :: (Real a, Fractional b) => a -> b
fromIntegral Integer 和 Rational 也有特殊的函数和 realToFrac基于:
fromInteger :: (Num a) => Integer -> a
fromRational :: (Fractional a) => Rational -> a

如果 a 是 Enum 的实例(因此您可以使用 fromEnum ,如您所说),则 fromIntegral . fromEnum应该这样做。 fromEnum将 a 转换为 Int ,然后 fromIntegral转换自 IntFloat , 所以 fromIntegral . fromEnum将 a 转换为 Float .

关于haskell - 如何转换 a -> Float?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8776823/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com