Ric*_*ral 8 string int haskell
假设我有一个Int = 08类型的变量,如何将其转换为String保持前导零?
例如:
v :: Int
v = 08
show v
Run Code Online (Sandbox Code Playgroud)
输出:8
我希望输出为"08".
这可能吗?
mip*_*adi 23
用途Text.Printf.printf:
printf "%02d" v
Run Code Online (Sandbox Code Playgroud)
确保先导入Text.Printf.printf.
它的8,而不是08变量v.是的,你给它分配了08但它收到8.这就是显示方法显示为8 的原因.你可以使用Mipadi给出的工作.
编辑:
输出测试.
Prelude> Text.Printf.printf "%01d\n" 08
8
Prelude> Text.Printf.printf "%02d\n" 08
08
Prelude> Text.Printf.printf "%03d\n" 08
008
Run Code Online (Sandbox Code Playgroud)
输出另一个测试.
Prelude> show 08
"8"
Prelude> show 008
"8"
Prelude> show 0008
"8"
Run Code Online (Sandbox Code Playgroud)
我希望你明白这一点.
编辑:
找到另一种解决方法.试试这个,
"0" ++ show v
Run Code Online (Sandbox Code Playgroud)
根据您计划执行的操作,您可能希望将“08”存储为字符串,并且仅在需要该值时才转换为 int。
| 归档时间: |
|
| 查看次数: |
9949 次 |
| 最近记录: |