在 Haskell 中,如何得到 0.03,而不是 3.0e-2?

3 string floating-point double haskell

基本上就是标题。我试图在字符串中显示 float ,但结果最终是"3.0e-2"(在 float 的示例中"0.03")。如何在 Haskell 中得到十进制形式?感谢任何回答的人。

Fyo*_*kin 5

对于内置类型的漂亮格式值,请使用printf

> printf "%f" (0.03 :: Float)
0.03
Run Code Online (Sandbox Code Playgroud)

有关完整说明和所有可能的格式选项,请参阅链接的文档。

  • 另请参阅 [`showFFloat`](https://hackage.haskell.org/package/base-4.15.0.0/docs/Numeric.html#v:showFFloat),这是 `printf` 在看到 ` 时调用的函数%f`。 (4认同)
  • 是的,它确实。检查链接。 (2认同)