string 转 int (正整数)
// string 转 int
str5 := "123"
int5, err := strconv.Atoi(str5)
if err != nil {
fmt.Println(err)
} else {
fmt.Printf("int5 value is %d, type is %T\n", int5, int5)
// int5 value is 123, type is int
}
string 转 int (负整数)
// string 转 int
str6 := "-123"
int6, err := strconv.Atoi(str6)
if err != nil {
fmt.Println(err)
} else {
fmt.Printf("int6 value is %d, type is %T\n", int6, int6)
// int6 value is -123, type is int
}
string 转 int64
// string 转 int64
str7 := "123"
int7, err := strconv.ParseInt(str7, 10, 64)
if err != nil {
fmt.Println(err)
} else {
fmt.Printf("int7 value is %d, type is %T\n", int7, int7)
// int7 value is 123, type is int
}
string 转 int64
// string 转 int64
str9 := "123"
// 参数1 数字的字符串形式
// 参数2 数字字符串的进制 比如二进制 八进制 十进制 十六进制
// 参数3 返回结果的bit大小 也就是int8 int16 int32 int64
int9, err := strconv.ParseInt(str9, 8, 64)
if err != nil {
fmt.Println(err)
} else {
fmt.Printf("int9 value is %d, type is %T\n", int9, int9)
// int9 value is 83, type is int64
// 83 = 1 * 8^2 + 2 * 8^1 + 3 * 8^0
}
string 转 int32
// string 转 int32
str10 := "123"
int10, err := strconv.ParseInt(str10, 10, 32)
if err != nil {
fmt.Println(err)
} else {
j := int32(int10)
fmt.Printf("j value is %d, type is %T", j, j)
// j value is 123, type is int32%
}
}
string 转 数值类型 必须为数字的字符串形式
// string 转 数值类型 必须为数字的字符串形式
str1 := "123sd"
int1, err := strconv.Atoi(str1)
if err != nil {
fmt.Println(err) // strconv.Atoi: parsing "123sd": invalid syntax
} else {
fmt.Printf("int1 value is %d, type is %T\n", int1, int1)
}
string 转 数值类型 必须为数字的字符串形式
// string 转 数值类型 必须为数字的字符串形式
str2 := "123sd123"
int2, err := strconv.Atoi(str2)
if err != nil {
fmt.Println(err) // strconv.Atoi: parsing "123sd123": invalid syntax
} else {
fmt.Printf("int2 value is %d, type is %T\n", int2, int2)
}
string 转 数值类型 数值范围必须在目标范围内
// string 转 数值类型 数值范围必须在目标范围内
str3 := "11111111111111111111"
int3, err := strconv.Atoi(str3)
if err != nil {
fmt.Println(err) // strconv.Atoi: parsing "11111111111111111111": value out of range
} else {
fmt.Printf("int3 value is %d, type is %T\n", int3, int3)
}
string 转 数值类型 浮点数无法转整型
// string 转 数值类型 浮点数无法转整型
str4 := "123.12"
int4, err := strconv.Atoi(str4)
if err != nil {
fmt.Println(err) // strconv.Atoi: parsing "123.12": invalid syntax
} else {
fmt.Printf("int4 value is %d, type is %T\n", int4, int4)
}