Bagaimana untuk menukar apungan kepada jenis rentetan dalam bahasa go

青灯夜游
Lepaskan: 2023-01-17 10:43:14
asal
9513 orang telah melayarinya

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)
Salin selepas log masuk
参数描述
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)
}
Salin selepas log masuk

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)
Salin selepas log masuk
参数描述
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)
}
Salin selepas log masuk
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!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan