基本数据类型和string的转换

一 基本数据类型转换成string

方式1.

fmt.Sprintf("%参数",表达式)

var num1 int = 99
var num2 float64 = 23.456
var b bool = true
var str string

str = fmt.Sprintf("%d",num1)
fmt.Printf("str type %T str = %q\n",str,str)

str = fmt.Sprintf("%f",num2)
fmt.Printf("str type %T str = %q\n",str,str)

str = fmt.Sprintf("%t",b)
fmt.Printf("str type %T str = %q\n",str,str)

 

方式2.

strconv包的函数

var num3 int = 99
var num4 float64 = 23.456
var b2 bool = true

str = strconv.FormatInt(int64(num3),10)
fmt.Printf("str type %T str  = 5q\n",str,str)

//strconv.FormatFloat(num4,'f',10,64)
//说明:'f' 格式,10:表示小数位保留10位,64:表示这个小数式float64
str = strconv.FormatFloat(num4,'f',10,64)
fmt.Printf("str type %T str = %q\n",str,str)

str = strconv.FormatBool(b2)
fmt.Printf("str type %T str = %q\n",str,str)

//strconv 包中有一个函数Itoa
var num5 = 4567
str = strconv.Itoa(num5)

二 string转成基本数据类型

1.string 装换成bool

var str string = "true"
var b bool
//b,_=strconv.ParseBool(str)
//说明
//1.strconv.ParseBool(str) 函数返回两个值(value bool,err error)
//2.因为我只想获取到 value bool,不想获取 err 所以我使用_忽略
b,_=strconv.ParseBool(str)
fmt.print("b type %T b=%v",b,b)

2.string 转换成 int

var str2 string  = "123456789"
var n1 int64
var n2 int
n1,_=strconv.ParseInt(str2,10,64)
n2 = int(n1)
fmt.Printf("n1 type %T n1=%v\n",n1,n1)
fmt.printf("n2 type %T n2=%v\n",n2,n2)

3.string 转换成float

var str3 string = "123.456"
var f1 = float64
f1,_=strconv.ParseFloat(str3,64)
fmt.Printf("f1 type %T f1=%v\n",f1,f1)

注意:

因为返回的是Int64或者float64,如希望扽到int32,float32等如下处理:

var num5 int32
num5 = int32(num)

 

posted @ 2021-05-05 07:56  创客未来  阅读(145)  评论(0编辑  收藏  举报