在编程过程中,我们常常需要用到字符串与其它类型的转换,strconv包可以帮我们实现此功能。
使用方法:func Atoi(字符串)(int,犯错错误)
测试代码:
func Atoi(字符串)(int,犯错错误) numStr:=" 999 " num犯错:=strconv.Atoi (numStr) 如果犯错!=nil { fmt。Println(“不能转换为int”) 其他}{ fmt。Printf("类型:% T值:% # v \ n”, num, num) }
输出:类型:int值:999
另外还可以用:
函数方法(s字符串,int, int bitSize)(我int64,犯错错误)
或
func ParseUint (s字符串,int, int bitSize) (n uint64,犯错错误)
基地指定进制(2到36),如果基本为0,则会从字符串前置判断,“0 x”是16进制,“0”是8进制,否则是10进制;
bitSize指定结果必须能无溢出赋值的整数类型,0,8日,16日,32岁的64分别代表int, int8, int16, int32, int64;
使用方法:func Itoa (int)字符串
测试代码:
func Itoa (int)字符串 num:=200 numStr:=strconv.Itoa (num) fmt。Printf("类型:% T值:% # v \ n”, numStr, numStr)
输出:类型:字符串值:" 200 "
-
<李>使用方法:func ParseBool (str字符串)(bool,错误)李>
<李>当str为:1、t, t,真的,真的,真的中的一种时为真值,李>
<李>当str为:0,f, f,假的,假的,假中的一种时为假值李>
<李>测试代码李>
fmt.Println (strconv.ParseBool (“t”)) fmt.Println (strconv.ParseBool (“TRUE”)) fmt.Println (strconv.ParseBool (“true”)) fmt.Println (strconv.ParseBool (“True”)) fmt.Println (strconv.ParseBool (“0”)) fmt.Println (strconv.ParseBool (f)) >之前
使用方法:func ParseFloat(字符串,bitSize int) (f float64犯错错误)
bitSize: 32或64对应系统的位数
测试代码
避免:=" 250.56 " str,犯错:=strconv。ParseFloat(避免,64) 如果犯错!=nil { fmt.Println (err) } fmt。Printf("类型:% T值:% # v \ n”, str, str)输出:类型:float64值:250.56
使用方法:func FormatFloat (f float64 fmt字节,prec bitSize int)字符串
bitSize表示f的来源类型(32:float32 64: float64),会据此进行舍入。
fmt表示格式:“f”(-ddd.dddd)、b (-ddddp±ddd,指数为二进制),“e”(-d.dddde±dd,十进制指数),“e”(-d.dddde±dd,十进制指数),‘g’(指数很大时用“e”格式,否则f格式),‘g’(指数很大时用“e”格式,否则f格式)。
prec控制精度(排除指数部分):对‘f’,‘e’,‘e’,它表示小数点后的数字个数;对‘g’,‘g’,它控制总的数字个数。如果prec为1,则代表使用最少数量的,但又必需的数字来表示f。
测试代码:
num:=250.56 str:=strconv。FormatFloat (num f 4, 64) fmt。Printf("类型:% T值:% # v \ n”, str, str)输出:类型:字符串值:“250.5600”
当然,以上类型转字符串的话,可以直接用,fmt。Sprintf实现。
举个例子:
num:=250.56 str:=fmt.Sprintf (“%。2 f”, num) fmt。Printf("类型:% T值:% # v \ n”, str, str) >之前输出:类型:字符串值:“250.56”
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
golang中之strconv包的具体使用方法