golang语言中int float bool byte转换成String类型

发布于 1周前 作者 phonegap100 来自 分享

golang语言中int float bool byte转换成String类型统称为其他类型转换成String类型

1、golang 中使用sprintf 把其他类型转换成string类型

注意:sprintf使用中需要注意转换的格式 int为%d float为%f bool为%t byte为%c

package main
import "fmt"
func main() {
	var i int = 20
	var f float64 = 12.456
	var t bool = true
	var b byte = 'a'
	var strs string

	strs = fmt.Sprintf("%d", i)
	fmt.Printf("str type %T ,strs=%v \n", strs, strs)

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

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

	strs = fmt.Sprintf("%c", b)
	fmt.Printf("str type %T ,strs=%v \n", strs, strs)
}
输出:
d:\golang\src\demo01>go run main.go
str type string ,strs=20
str type string ,strs=12.456000
str type string ,strs=true
str type string ,strs=a

2、使用strconv包里面的几种转换方法进行转换

package main

import (
	"fmt"
	"strconv"
)
func main() {
	//1、int转换成string
	var num1 int = 20
	s1 := strconv.Itoa(num1)
	fmt.Printf("str type %T ,strs=%v \n", s1, s1)

	// 2、float 转string
	var num2 float64 = 20.113123
	/*
		参数1:要转换的值
		参数2:格式化类型 
            'f'(-ddd.dddd)、
            'b'(-ddddp±ddd,指数为二进制)、
            'e'(-d.dddde±dd,十进制指数)、
            'E'(-d.ddddE±dd,十进制指数)、
            'g'(指数很大时用'e'格式,否则'f'格式)、
            'G'(指数很大时用'E'格式,否则'f'格式)。
		参数3: 保留的小数点    -1(不对小数点格式化)
		参数4:格式化的类型
	*/
	s2 := strconv.FormatFloat(num2, 'f', 2, 64)
	fmt.Printf("str type %T ,strs=%v \n", s2, s2)
	

	// 3、bool 转string
	s3 := strconv.FormatBool(true)

	fmt.Printf("str type %T ,strs=%v \n", s3, s3)
	
   //4、int64 转 string
	var num3 int64 = 20	
	/*
	第二个参数为 进制
	*/
	s4 := strconv.FormatInt(num3, 10)
	fmt.Printf("类型 %T ,strs=%v \n", s4, s4)

}
回到顶部