如何在不从开头删除 0 数字前缀的情况下将字符串转换为整数。像这样的用例我有一个像“0093”这样的字符串,我想将与 0093 相同的整数转换为整数。我尝试 strconv 但问题是这个包在转换后从 0093 中删除了 00 前缀。任何人都可以更好地解决这个问题。s := "0093" if i, err := strconv.Atoi(s); err == nil { fmt.Printf("i=%d, type: %T\n", i, i)}输出是 93,但我想要 int 类型的确切 0093。
1 回答
哈士奇WWW
TA贡献1799条经验 获得超6个赞
从包的文档fmt:
Width is specified by an optional decimal number immediately preceding the verb. If absent, the width is whatever is necessary to represent the value.
...
Other flags:
0 pad with leading zeros rather than spaces;
for numbers, this moves the padding after the sign
如果你把这两件事结合起来,你就会得到代码:
fmt.Printf("i=%04d, type: %T\n", i, i)
- 1 回答
- 0 关注
- 96 浏览
添加回答
举报
0/150
提交
取消