Haskell - 如何投射类型?

MMM*_*MMM 5 haskell casting

我想做以下事情:

10 ** length xs * x
Run Code Online (Sandbox Code Playgroud)

但我得到:

使用"**"时没有(Floating Int)的实例

sep*_*p2k 8

你可以使用^提升到一个整体的力量.这里没有必要转换为float.


ken*_*ytm 6

除了@ sepp2k的答案,如果你真的需要从一个整数转换为其他类型的Num,请使用fromIntegral.

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

10 ** fromIntegral (length xs) * x
Run Code Online (Sandbox Code Playgroud)