标准Haskell的Double使用the standard double-precision arithmetic:
data Double
双精度浮点数。希望这种类型在范围和精度上至少与IEEE双精度类型相等。
GHC / Haskell是否也提供了extended precision(80位)浮点数,也许使用了一些外部库?
答案 0 :(得分:13)
正如chuff指出的那样,你可能想看看hackage上的numbers包。您可以使用cabal install numbers
进行安装。这是一个例子:
import Data.Number.CReal -- from numbers
main :: IO ()
main = putStrLn (showCReal 100 (sqrt 2))
-- output: 1.4142135623730950488016887242096980785696718753769480731766797379907324784621070388503875343276415727
作为documentation状态,showCReal
返回一个字符串,显示给定数量的类型CReal
,并带有给定的小数位数。