Kaedah penukaran: 1. Gunakan fungsi Sprintf(), yang menyokong penukaran float32 dan float64 kepada rentetan Sintaks ialah "str := fmt.Sprintf("%f", floatVar)". 2. Gunakan fungsi FormatFloat() untuk menukar pembolehubah jenis apungan f kepada pembolehubah jenis rentetan str, dengan sintaks "str := strconv.FormatFloat(f,fmte,prec,bitSize)".
Persekitaran pengendalian tutorial ini: sistem Windows 7, GO versi 1.18, komputer Dell G3.
Dalam bahasa Go, selalunya perlu menukar jenis apungan kepada jenis rentetan. Untuk menukar apungan kepada rentetan dalam bahasa Go, anda boleh menggunakan fungsi yang berkaitan dalam pakej strconv atau pakej fmt.
Kaedah 1: Gunakan fmt.Sprintf()
Sokong float32, float64 kepada rentetan
str := fmt.Sprintf("%f", floatVar)
参数 | 描述 |
---|---|
str | 转换成字符串后的值。 |
floatVar | 需要转换的 float 类型的变量。 |
Arahan:
Kami menggunakan fmt.Sprintf untuk menukar floatVar pembolehubah jenis float kepada jenis rentetan.
Contoh:
package main import ( "fmt" ) func main() { //Golang 实现 float32 转 string var score float32 = 99.9 strScore := fmt.Sprintf("%f", score) fmt.Println("StrScore = ", strScore) //Golang 实现 float64 转 string var km = 9900.10 strKm := fmt.Sprintf("%.5f", km) fmt.Println("StrKm = ", strKm) }
Kaedah 2: Gunakan strconv.FormatFloat()
str := strconv.FormatFloat(f float64, fmt byte, prec, bitSize int)
参数 | 描述 |
---|---|
str | 将 float 转换成的字符串。 |
f | 需要转换的 float64 类型的变量。 |
fmt | 使用 f 表示不使用指数的形式。 |
prec | 保留几位小数。 |
bitSize | 如果为 32,表示是 float32 类型,如果是 64,表示是 float64 类型。 |
Selepas menukar fmt kepada rentetan, jenis rentetan:
'b' (-ddddp±ddd): eksponen binari
'e' (-d.dddde±dd): Eksponen perpuluhan
'E' (-d.ddddE± dd ): Eksponen perpuluhan
'f' (-ddd.dddd): Tiada eksponen
'g': Eksponen sangat besar Gunakan 'e' apabila eksponen sangat besar, gunakan 'f' apabila indeksnya besar, dan gunakan 'f' apabila indeksnya besar
'x' (-0xd.ddddp±ddd): pecahan heksadesimal dan perduaan. eksponenKami menggunakan strconv.FormatFloat untuk menukar pembolehubah jenis apungan f kepada pembolehubah jenis rentetan str.
Parameter pertama fungsi strconv.FormatFloat hanya boleh menerima pembolehubah jenis float64. Oleh itu, jika anda perlu menukar jenis float32 kepada rentetan, anda perlu menukar float32 kepada float64 terlebih dahulu.[Cadangan berkaitan:Contoh:
Pergi tutorial video
,package main import ( "fmt" "strconv" ) func main() { //Golang 实现 float32 转 string var score float32 = 99.9 strScore := strconv.FormatFloat(float64(score), 'f', 10, 32) fmt.Println("StrScore = ", strScore) //Golang 实现 float64 转 string var km = 9900.10 strKm := strconv.FormatFloat(km, 'f', 1, 64) fmt.Println("StrKm = ", strKm) }
】
Atas ialah kandungan terperinci Bagaimana untuk menukar apungan kepada jenis rentetan dalam bahasa go. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!