Haskell有一个内置的Integer
类型,它处理任意精度的整数。还有Rational
,这是一个任意精度的分数。但是对这些事情的算术要求找到一个共同的分母,然后将结果取消为最小项。针对非整数的任意精度
如果我想要在尾数处做100位精度的浮点运算?我会怎么做?
我看到有一个Data.Fixed
模块,但似乎提供了一些固定精度的自定义编写类型。根据每个任务需要多少准确度,我想要的是可以在运行时动态增加或降低精度的方法。
PS。我不在寻找十进制算术,尽管我想知道它是否可用于某处会很有趣......
您可以随时使用Rational并不时使用['approxRational'](http://hackage.haskell.org/package/base-4.6.0.1/docs/Data-Ratio.html#v:approxRational)保持它的检查。 –
理性的数字应该做你需要的一切,从不失去精确度,在一个自包含的库中。以可读的格式(即十进制扩展)读取/写出Rational的麻烦是什么? –