• golang学习笔记13 Golang 类型转换整理 go语言string、int、int64、float64、complex 互相转换


    golang学习笔记13 Golang 类型转换整理 go语言string、int、int64、float64、complex 互相转换

    #string到int
    int,err:=strconv.Atoi(string)
    #string到int64
    int64, err := strconv.ParseInt(string, 10, 64)
    #int到string
    string:=strconv.Itoa(int)
    #int64到string
    string:=strconv.FormatInt(int64,10)

    #int到int64,把int先转成字符串再转成int64,返回带err参数的需要忽略掉
    s := strconv.Itoa(int)
    s64,_ := strconv.ParseInt(s,10,64)

    =======================
    复数,求平方,10的5次方
    cmplx.Pow(10,5)
    https://gowalker.org/math/cmplx#Pow
    cmplx.Pow() complex 转成int64
    取实数部分,float64类型的
    p := real(cmplx.Pow(10,5))
    float64 转成转成int64
    p := int64(real(cmplx.Pow(10,5)))
    ------------------

    float64 转成转成int64
    var x float64 = 5.7
    var y int = int64(x)

    var value1 complex64 = 3.2 + 12i
    value2 := 3.2 + 12i
    value3 := complex(3.2, 12)
    r = real(value1) //获得复数的实部
    i = imag(value1) //获得复数的虚部
    =======================
    1、整形到字符串:
    [plain] view plain copy
    var i int = 1
    var s string
    s = strconv.Itoa(i) 或者 s = FormatInt(int64(i), 10)

    2、字符串到整形
    var s string = "1"
    var i int
    i, err = strconv.Atoi(s) 或者 i, err = ParseInt(s, 10, 0)

    3、字符串到float(32 / 64)
    var s string = 1
    var f float32
    f, err = ParseFloat(s, 32)

    float 64的时候将上面函数中的32转为64即可

    4、整形到float或者float到整形
    直接使用float(i) 或者 int(f) 直接进行转换即可

    =======================
    golang int转换成string方法:
    var i int = 10
    // 通过Itoa方法转换
    str1 := strconv.Itoa(i)
    // 通过Sprintf方法转换
    str2 := fmt.Sprintf("%d", i)
    =======================
    (1)int转string
    s := strconv.Itoa(i)
    等价于s := strconv.FormatInt(int64(i), 10)

    (2)int64转string
    i := int64(123)
    s := strconv.FormatInt(i, 10)
    第二个参数为基数,可选2~36
    注:对于无符号整形,可以使用FormatUint(i uint64, base int)

    (3)string转int
    i, err := strconv.Atoi(s)

    (4)string转int64
    i, err := strconv.ParseInt(s, 10, 64)
    第二个参数为基数(2~36),第三个参数位大小表示期望转换的结果类型,其值可以为0, 8, 16, 32和64,分别对应 int, int8, int16, int32和int64

    (5)float相关

    float转string:
    v := 3.1415926535
    s1 := strconv.FormatFloat(v, 'E', -1, 32)//float32s2 := strconv.FormatFloat(v, 'E', -1, 64)//float64

    函数原型及参数含义具体可查看:https://golang.org/pkg/strconv/#FormatFloat

    string转float:


    s := "3.1415926535"
    v1, err := strconv.ParseFloat(v, 32)
    v2, err := strconv.ParseFloat(v, 64)

    PS:go语言string、int、int64互相转换


    //string到int
    int,err:=strconv.Atoi(string)
    //string到int64
    int64, err := strconv.ParseInt(string, 10, 64)
    //int到string
    string:=strconv.Itoa(int)
    //int64到string
    string:=strconv.FormatInt(int64,10)
    //string到float32(float64)
    float,err := strconv.ParseFloat(string,32/64)
    //float到string
    string := strconv.FormatFloat(float32, 'E', -1, 32)
    string := strconv.FormatFloat(float64, 'E', -1, 64)
    // 'b' (-ddddp±ddd,二进制指数)
    // 'e' (-d.dddde±dd,十进制指数)
    // 'E' (-d.ddddE±dd,十进制指数)
    // 'f' (-ddd.dddd,没有指数)
    // 'g' ('e':大指数,'f':其它情况)
    // 'G' ('E':大指数,'f':其它情况)

  • 相关阅读:
    javascript编程解决黑化的牛牛问题
    Eclipse中给jar包导入JavaDoc注释文档的方法
    Android网络连接处理学习笔记
    Android Animation学习笔记
    Android中动画学习
    Android 动画效果 --Animation 动画专题研究 一
    Android动画学习笔记-Android Animation
    Android 动画之RotateAnimation应用详解
    Android 动画之ScaleAnimation应用详解
    Android 动画之AlphaAnimation应用详解
  • 原文地址:https://www.cnblogs.com/zdz8207/p/golang-learn-13-strconv.html
Copyright © 2020-2023  润新知