将带有前导零的 haskell Int 转换为 String
假设我有一个 Int = 08 类型的变量,如何将其转换为 String 并保留前导零?
例如:
v :: Int
v = 08
show v
输出:8
我希望输出为“08”。
这可能吗?
Suppose I have a variable of type Int = 08, how can I convert this to String keeping the leading zero?
For instance:
v :: Int
v = 08
show v
Output: 8
I want the output to be "08".
Is this possible?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
使用
Text.Printf.printf
:确保先导入
Text.Printf.printf
。Use
Text.Printf.printf
:Make sure to import
Text.Printf.printf
first.它是 8,而不是变量 v 中的 08。 是的,您分配给它 08 但它收到 8。这就是 show 方法将其显示为 8 的原因。您可以使用 Mipadi 给出的解决方法。
编辑:
测试的输出。
另一个测试的输出。
我希望你明白这一点。
编辑:
找到了另一种解决方法。 尝试这个,
Its 8, not 08 in variable v. Yes, you assigned it 08 but it receives 8. Thats the reason show method displayed it as 8. You can use the work around given by Mipadi.
Edit:
Output of a test.
Output of another test.
I hope you get the point.
Edit:
Found another workaround. Try this,
根据您计划执行的操作,您可能希望将“08”存储为字符串,并且仅在需要该值时才转换为 int。
Depending on what you are planning to do you might want to store the "08" as a string and only convert to int when you need the value.
printf
方式可能是最好的,但编写您自己的函数很容易:工作原理如下:
The
printf
way is probably best, but it's easy enough to write your own function:Works as follows: