猿问

将 String 转换为完全相同的 Int

如何在不从开头删除 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。


宝慕林4294392
浏览 97回答 1
1回答

哈士奇WWW

从包的文档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)
随时随地看视频慕课网APP

相关分类

Go
我要回答