大きなDouble
をInteger
に変換したいと考えていますが、floor
のFrege Haskellの実装ではIntegral
のタイプが得られないようです。代わりに、それはJavaのやり方とインターフェースするために実装されているようで、Floating
タイプはDouble
、Floating r => r -> Double
になります。私はround
を使用することができますが、(私はその後、ラウンドを0.5とを減算することができるかもしれませんが)それは切り捨てるのではなく、丸めます。私は、Int
またはLong
を使用することに頼らずに、むしろ作業したいと思います。後者と同じくらい、精度はまだ限定されています。任意精度整数型に浮動小数点型フローリングについて移動するFrege Double to Integer
任意の方法?
あなたの減算アプローチは制約が与えられた合理的に聞こえるが、私はフレーゲを使用したことがありません。 – dfeuer
はhttp://stackoverflow.com/questions/17960186/is-there-anyway-to-convert-from-double-to-bigintegerから判断すると1がこれを行うには、いくつかのitermediate表現を必要とします。 – Ingo