(過去記事のコピペなので内容が古いかも知れません)
Doubleなどの値をそのままprintすると、17桁表示されてしまう
定義上1.0になるべき値も17桁まで表示すると、計算誤差の都合で17桁目で1.0からずれてしまうことがある
そこで表示する桁数を絞って表示したくなる。
そのためにはshowFFloatなどを用いれば良いらしい
他にもあるのかもしれないが、ググってもこれしかHITしなかった・・・
■ 参考
hackage.haskell.org
import Numeric read (showFFloat (Just 10) Value "") ::Double)
valueには桁数を落としたい数字を入れる
Just の後の10で桁数を決められる。
このままでは返り値がChar型になっているので、read関数を使ってDoubleに変換する
こんな感じでいいのだろうか?