标准的 Haskell's Double使用标准的双精度算术:
data Double
双精度浮点数。希望这种类型在范围和精度上至少等于 IEEE 双精度类型。
GHC/Haskell 是否也在某个地方提供了扩展精度(80 位)浮点数,也许使用了一些外部库?
正如chuff 指出的那样,您可能想看看关于hackage的数字包。您可以使用cabal install numbers
. 这是一个例子:
import Data.Number.CReal -- from numbers
main :: IO ()
main = putStrLn (showCReal 100 (sqrt 2))
-- output: 1.4142135623730950488016887242096980785696718753769480731766797379907324784621070388503875343276415727
如文档所述,showCReal
返回一个字符串,显示给定数量的类型CReal
和给定的小数位数。