开发者

Go string转int,int64,int32及注意事项说明

目录
  • Go string转int,int64,int32及注意事项
    • string 转 int (正整数)
    • string 转 int (负整数)
    • string 转 int64
    • string 转 int64
    • string 转 int32
    • string 转 数值类型 必须为数字的字符串形式
    • string 转 数值类型 必须为数字的字符串形式
    • string 转 数值类型 数值范围必须在目标范围内
    • string 转 数值类型 浮点数无法转整型
  • 总结

    Go string转int,int64,int32及注意事项

    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)
    	} elspythone {
    		fmt.Printf("int6 value is %d, type is %Tphpn", 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("int1www.devze.com 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 androidvalue is %d, type is %T\n", int4, int4)
    	}

    总结

    以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程客栈(www.devze.com)。

    0

    上一篇:

    下一篇:

    精彩评论

    暂无评论...
    验证码 换一张
    取 消

    最新开发

    开发排行榜