在Haskell中是否存在sprintf等价物?
我需要将格式Double值转换为String,所以,有没有使用printf类函数的另一种方法.
主要问题是避免:
Prelude> putStrLn myDoubleVal
1.7944444444444447e-2
Run Code Online (Sandbox Code Playgroud)
我想要
Prelude> putStrLn . sprintf "%.2f" $ myDoubleVal
1.79
Run Code Online (Sandbox Code Playgroud)
Chr*_*lor 46
是的,它在Text.Printf模块中,它只是被调用printf.
> import Text.Printf
> let x = 1.14907259
> putStrLn . printf "%.2f" $ x
1.15
Run Code Online (Sandbox Code Playgroud)
请注意,返回类型printf是重载的,因此它能够返回String(如上例所示),但它也能够返回执行打印的I/O操作,因此您实际上不需要调用putStrLn:
> printf "%.2f\n" x
1.15
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6917 次 |
| 最近记录: |