golang中string和int、float相互转换

706 阅读1分钟

日常开发中经常用到字符串和数字之间的相关转换,下面总结下常用的类型转换方式。

字符串转数字

string转int

i, err := strconv.Atoi(str)
if err != nil{
    fmt.Println(err)
}

string转int32

j,err := strconv.ParseInt(str,10,32)
if err == nil {
  fmt.Println(err)
}

string转int64

i,err := strconv.ParseInt(str,10,64)
if err == nil {
  fmt.Println(err)
}

string转float32

float,err := strconv.ParseFloat(str,32)
if err == nil {
  fmt.Println(err)
}

string转float64

float,err := strconv.ParseFloat(str,64)
if err == nil {
  fmt.Println(err)
}

数字转字符串

int转string

str := strconv.Itoa(i)

int32转string

str := strconv.FormatInt(int32(i), 10)
或
str1 := strconv.Itoa(int(i)) 

int64转string

str := strconv.FormatInt(i, 10)

float32转string

// 保留1位小数
str := strconv.FormatFloat(float64(floatNum), 'f',1, 64)

float64转string

// 保留2位小数
str := strconv.FormatFloat(floatNum, 'f',2, 64)