Rumah > Artikel > pembangunan bahagian belakang > golang float转string
Bahasa Go ialah bahasa pengaturcaraan yang agak muda Oleh kerana kesederhanaan, kecekapan dan keselamatannya, ia semakin popular di kalangan pengaturcara dan digunakan secara meluas dalam aplikasi web, pengaturcaraan rangkaian, pengkomputeran awan, data besar dan bidang lain. Dalam bahasa Go, data jenis apungan sering digunakan untuk mewakili perpuluhan dan nilai titik terapung. Apabila kita perlu menukar data jenis apungan kepada jenis rentetan, kita perlu menggunakan beberapa fungsi yang berkaitan.
Tandatangan fungsi: func FormatFloat(f float64, fmt byte, prec, bitSize int) rentetan
Di mana, parameter f ialah nombor titik terapung yang hendak ditukar dan fmt mewakili format penukaran,' f' mewakili perwakilan perpuluhan, 'e' mewakili notasi saintifik, 'E' mewakili notasi saintifik, prec mewakili ketepatan selepas titik perpuluhan, dan bitSize mewakili bilangan digit jenis berangka (32 atau 64 bit ).
Kod contoh:
utama pakej
import "fmt"
import "strconv"
func main() {
num := 3.141592654 str := strconv.FormatFloat(num, 'f', 2, 64) fmt.Println("转换后的字符串为:", str)
}
Output:
Rentetan yang ditukar ialah: 3.14
Dalam contoh ini, kami menukar titik terapung nombor 3.141592654 kepada aksara dengan ketepatan 2 rentetan dan keluarkan hasilnya. Hasil keluaran pada masa ini ialah 3.14.
Kod sampel:
utama pakej
import "fmt"
func main() {
num := 1.61803398875 str := fmt.Sprintf("%f", num) fmt.Println(str)
}
Output:
1.618034
Dalam contoh ini, kami menukar nombor titik terapung 1.61803398875 kepada jenis rentetan menggunakan fungsi fmt.Sprintf dan mengeluarkan hasilnya. Hasilnya adalah sama dengan format lalai untuk nilai float64.
Jenis []bait yang dikembalikan ialah kedudukan boleh diisi seterusnya bagi w. Untuk mengelakkan peruntukan memori, panggil w.Grow(n) lebih awal daripada masa, dengan n ialah jumlah bilangan bait untuk ditulis atau lebar nombor maksimum + 1 (iaitu gabungan jumlah lebar nombor dengan penjajaran yang baik dan menambah titik perpuluhan )
w ialah contoh yang melaksanakan io.Penulis. Perwakilan rentetan
fn adalah berdasarkan format fmt, dengan tempat perpuluhan prak (-1 bermaksud menggunakan digit paling sedikit). Khususnya, deskriptor format berikut %v dan %e kedua-duanya menghasilkan notasi saintifik di sini. Nombor terkecil yang dijamin boleh diterbalikkan oleh pemalar titik terapung boleh diperoleh menggunakan Float32bits (-1<<31) dan Float64bits (-1<<63).
Tingkah laku bukan angka bagi nilai f adalah betul-betul sama seperti fmt.Fprintf.
Kod sampel:
utama pakej
import "strconv"
func main() {
num := 3.141592653 b := make([]byte, 0, 64) b = strconv.AppendFloat(b, num, 'f', -1, 64)
}
Dalam contoh ini, kami menukar nombor titik terapung 3.141592653 kepada jenis rentetan dan menyimpannya dalam pembolehubah jenis []bait b. Perlu diingatkan bahawa bilangan tempat perpuluhan pada masa ini ialah -1, iaitu bilangan digit minimum digunakan untuk mewakili nilai.
Jika anda ingin mengawal algoritma apung-ke-rentetan dengan tepat, anda boleh mempelajari tentang matematik/besar perpustakaan standard Golang.
Ringkasan:
Dalam bahasa Go, terdapat tiga cara utama untuk menukar data jenis apungan kepada data jenis rentetan: menggunakan fungsi fmt.FormatFloat dalam pakej strconv, menggunakan fungsi fmt.Sprintf dan menggunakan strconv . FormatFloat() digunakan dalam kombinasi dengan strconv.AppendFloat(). Anda boleh menyesuaikan pemformatan menggunakan fungsi dalam pakej strconv Mudah dan mudah untuk menggunakan fungsi fmt.Sprintf Gabungan strconv.FormatFloat() dan strconv.AppendFloat() boleh mengurangkan operasi penyalinan dan penambahan rentetan. kelajuan pemprosesan. Perlu diingat bahawa semasa pengiraan dan penggunaan ketepatan, penjagaan harus diambil untuk mengelakkan ralat yang disebabkan oleh penukaran nombor titik terapung, terutamanya nombor titik terapung dengan julat yang lebih besar.
Atas ialah kandungan terperinci golang float转string. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!