Maison >développement back-end >Golang >Comment convertir une longue chaîne hexadécimale en une décimale tronquée en Go ?

Comment convertir une longue chaîne hexadécimale en une décimale tronquée en Go ?

Barbara Streisand
Barbara Streisandoriginal
2024-12-10 22:10:121010parcourir

How to Convert a Long Hexadecimal String to a Truncated Decimal in Go?

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn