1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 | package main import ( "fmt" "reflect" "strconv" ) func main() { vbool := false vint := 0-12345 vuint := 123456 vfloat := 123.456 vstring := "2019" //判断变量类型,int To string fmt.Println(reflect.TypeOf(strconv.Itoa(vint)), strconv.Itoa(vint)) //string To int test,_ := strconv.Atoi(vstring) fmt.Println(test) fmt.Println(strconv.Atoi(vstring)) //十进制 To 八进制字符串 fmt.Println(strconv.FormatUint(uint64(vuint), 8)) //十进制 To 十六进制字符串 fmt.Println(reflect.TypeOf(strconv.FormatUint(uint64(vuint), 16))) //fmt表示格式: "f"/"b"/"e"/"E"/"g"/"G" 包括这六种格式,默认为f //prec表示精度,自己控制 //bitSize表示输入的是float32 还是float64,32/64. fmt.Println(strconv.FormatFloat(vfloat, 'e', 4, 64)) //float保留两位小数 value, _ := strconv.ParseFloat(fmt.Sprintf("%.2f", vfloat), 64) fmt.Println(value, reflect.TypeOf(value)) // bool To string fmt.Println(strconv.FormatBool(vbool), reflect.TypeOf(strconv.FormatBool(vbool))) //将输入的string加上双引号 fmt.Println(strconv.Quote(vstring)) } |
结果
string -12345
2019
2019
361100
string
1.2346e+02
123.46 float64
false string
"2019"