Chaîne hexadécimale en décimal tronqué
Convertir une longue chaîne hexadécimale en notation décimale peut être un défi, surtout lorsque le nombre obtenu dépasse la plage de int64. Pour résoudre ce problème, Golang fournit le package math/big.
Exemple de conversion
Considérez la chaîne hexadécimale suivante :
"0x00000000000000000000000000000000000000000000d3c21bcecceda1000000"
Utilisation de math/big
Pour convertir cette chaîne en utilisant math/big, suivez ces étapes :
import "math/big" s := "0x00000000000000000000000000000000000000000000d3c21bcecceda1000000" i := new(big.Int) i.SetString(s, 16) // Convert result to decimal (using %f formatting) fmt.Printf("%f", i)
Tronquer les décimales
Pour tronquer la décimale à 18 décimales, utilisez la chaîne de format suivante :
%018.18f
Exemple de sortie
La sortie de ce qui précède le code, formaté avec 18 décimales, est :
1000000000000000000.000000
N'oubliez pas que le package math/big prend également en charge les interfaces TextMarshaler et fmt.Scanner pour la conversion vers et depuis des chaînes.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!