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':其它情况)
|
请发表评论