Rentetan Heksadesimal kepada Perpuluhan Terpenggal
Menukar rentetan perenambelasan yang panjang kepada tatatanda perpuluhan boleh menjadi satu cabaran, terutamanya apabila nombor yang terhasil melebihi julat daripada int64. Untuk menangani isu ini, Golang menyediakan pakej matematik/besar.
Contoh Penukaran
Pertimbangkan rentetan perenambelasan berikut:
"0x00000000000000000000000000000000000000000000d3c21bcecceda1000000"
Menggunakan matematik/besar
Untuk menukar rentetan ini menggunakan matematik/besar, ikuti langkah berikut:
import "math/big" s := "0x00000000000000000000000000000000000000000000d3c21bcecceda1000000" i := new(big.Int) i.SetString(s, 16) // Convert result to decimal (using %f formatting) fmt.Printf("%f", i)
Memotong Tempat Perpuluhan
Untuk memotong perpuluhan hingga 18 tempat perpuluhan, gunakan rentetan format berikut:
%018.18f
Contoh Output
Output daripada kod di atas, diformatkan dengan 18 tempat perpuluhan, ialah:
1000000000000000000.000000
Ingat, pakej matematik/besar juga menyokong antara muka TextMarshaler dan fmt.Scanner untuk menukar kepada dan daripada rentetan.
Atas ialah kandungan terperinci Bagaimana untuk Menukar Rentetan Heksadesimal Panjang kepada Perpuluhan Terpenggal dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!