在 Haskell 中转换 Double -> Float 的推荐方法
recommended way to convert Double -> Float in Haskell
惯用的方法是什么Double -> Float
?
是uncurry encodeFloat . decodeFloat
吗?
(我用的是gloss
,这需要浮点数)
找到此类问题的答案的推荐方法是什么?
我正在尝试 this hoogle query 但答案都非常无用
(试一试 - 它在列表顶部有 unsafeCoerce
)
使用 <a href="https://hackage.haskell.org/package/base/docs/Prelude.html#v:realToFrac" rel="noreferrer">realToFrac</a> :: (实数 a, 小数 b) => a -> b
.
它将任何实数类型(如Int
、Float
或Double
)转换为任何小数类型(如Float
、Double
或Rational
)。
请注意,尽管此函数的一般定义 (fromRational . toRational
) 通过 Rational
类型执行缓慢的转换,there are rewrite rules 使用更有效的实现来实现 Float
和 Double
.
惯用的方法是什么Double -> Float
?
是uncurry encodeFloat . decodeFloat
吗?
(我用的是gloss
,这需要浮点数)
找到此类问题的答案的推荐方法是什么?
我正在尝试 this hoogle query 但答案都非常无用
(试一试 - 它在列表顶部有 unsafeCoerce
)
使用 <a href="https://hackage.haskell.org/package/base/docs/Prelude.html#v:realToFrac" rel="noreferrer">realToFrac</a> :: (实数 a, 小数 b) => a -> b
.
它将任何实数类型(如Int
、Float
或Double
)转换为任何小数类型(如Float
、Double
或Rational
)。
请注意,尽管此函数的一般定义 (fromRational . toRational
) 通过 Rational
类型执行缓慢的转换,there are rewrite rules 使用更有效的实现来实现 Float
和 Double
.