Rumah >pembangunan bahagian belakang >Golang >Bagaimana untuk menukar apungan kepada jenis rentetan dalam bahasa go

Bagaimana untuk menukar apungan kepada jenis rentetan dalam bahasa go

青灯夜游
青灯夜游asal
2023-01-17 10:43:149618semak imbas

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)".

Bagaimana untuk menukar apungan kepada jenis rentetan dalam bahasa go

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)
}

Bagaimana untuk menukar apungan kepada jenis rentetan dalam bahasa go

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. eksponen
  • 'X' (-0Xd.ddddP±ddd): pecahan Sistem perenambelasan dan eksponen binari
  • pra: Mengawal longitud
  • jika bendera format ialah 'e', ​​​​ 'E', 'f', ' x', 'X', maka prec mewakili bilangan digit selepas titik perpuluhan

Jika tanda format ialah 'g', 'G', maka prec mewakili jumlah bilangan digit (bahagian integer + bahagian perpuluhan)
  • Penjelasan:
  • Kami menggunakan strconv.FormatFloat untuk menukar pembolehubah jenis apungan f kepada pembolehubah jenis rentetan str.

  • Nota:
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.

Contoh:

[Cadangan berkaitan:

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)
}
Pengajaran pengaturcaraan

Bagaimana untuk menukar apungan kepada jenis rentetan dalam bahasa go

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn