golang strconv包(类型转换、保留小数位)

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 <nil>

361100

string

1.2346e+02

123.46 float64

false string

"2019"

 

上一篇:go的字符操作strings和strconv


下一篇:Golang 基本数据类型和string的转换