为了账号安全,请及时绑定邮箱和手机立即绑定

Golang - 为什么 ItoA 在返回字符串时总是删除初始 0

Golang - 为什么 ItoA 在返回字符串时总是删除初始 0

Go
当年话下 2023-08-07 14:35:11
我试图获取整数长度来询问固定长度的引脚,并尝试将整数转换为字符串,但我遇到了这个问题,下面是示例:package mainimport (    "fmt"    "strconv")func main() {    inter := 034567    fmt.Println(strconv.Itoa(inter))}输出14711这是 golang 播放代码:https://play.golang.org/p/r87zeRaoZ23我想知道如何处理它的原因,以及是否有另一种解决方案来处理此类情况。
查看完整描述

1 回答

?
临摹微笑

TA贡献1982条经验 获得超2个赞

034567是一个整数文字,更具体地说是一个八进制文字。引用规范:整数文字:

整数文字是表示整数常量的数字序列。可选前缀设置非十进制基数:0bor0B表示二进制,00o, or0O表示八进制,and 0xor0X表示十六进制。单个0被视为十进制零。在十六进制文字中,字母athroughfAthroughF表示值 10 到 15。

八进制034567=14711十进制。

您不能在源代码中int保留您提供的数字。0如果这是一个要求,请使用其他类型,例如string.

如果删除前导0inter := 34567,则输出将为34567.


查看完整回答
反对 回复 2023-08-07
  • 1 回答
  • 0 关注
  • 102 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信