Go语言教程之边写边学:类型转换-如何在 Go 中将浮点转换为字符串类型?

像大多数现代语言一样,Golang 将 Float 作为内置类型包含在内。让我们举个例子,你可能有一个包含 Float 值的变量。为了在Golang中将Float值转换为字符串类型,您可以使用以下方法。

 FormatFloat()方法

您可以使用strconv包的 FormatFloat()函数将浮点数转换为字符串值。FormatFloat根据格式fmt和精度prec将浮点数f转换为字符串。它对结果进行舍入,假设原始数据是从bitSize位的浮点值获得的(浮点数为 32,浮点数 32 为 64)。

func FormatFloat(f float64, fmt byte, prec, bitSize int) string
package main

import (
	"fmt"
	"reflect"
	"strconv"
)

func main() {
	var f float64 = 3.1415926535
	fmt.Println(reflect.TypeOf(f))
	fmt.Println(f)

	var s string = strconv.FormatFloat(f, 'E', -1, 32)
	fmt.Println(reflect.TypeOf(s))
	fmt.Println(s)
}

输出

float64
3.1415926535
string
3.1415927E+00

 

FMT.Sprintf()方法

Sprintf根据格式说明符设置格式,并返回结果字符串。在这里,a 是接口类型,因此您可以使用此方法将任何类型转换为字符串。

func Sprintf(format string, a ...interface{}) string
package main

import (
	"fmt"
	"reflect"
)

func main() {
	b := 12.454
	fmt.Println(reflect.TypeOf(b))

	s := fmt.Sprintf("%v", b)
	fmt.Println(s)
	fmt.Println(reflect.TypeOf(s))
}

输出

float64
12.454
string