Maison > développement back-end > Golang > Comment formater des nombres à virgule flottante dans Go : fmt.Sprintf() vs strconv.FormatFloat() ?

Comment formater des nombres à virgule flottante dans Go : fmt.Sprintf() vs strconv.FormatFloat() ?

DDD
Libérer: 2024-11-08 20:04:02
original
716 Les gens l'ont consulté

How to Format Floating Point Numbers in Go: fmt.Sprintf() vs. strconv.FormatFloat()?

Formatage des nombres à virgule flottante dans Go

Dans Go, il existe plusieurs méthodes pour convertir un nombre à virgule flottante en chaîne. Deux choix populaires incluent fmt.Sprintf() et strconv.FormatFloat(). Chaque approche a ses nuances, mais elles exploitent en fin de compte les mêmes mécanismes de formatage de chaîne sous-jacents.

Choisir la méthode appropriée

Lorsque vous décidez entre fmt.Sprintf() et strconv.FormatFloat(), tenez compte des suivant :

  • Flexibilité de précision : Si le nombre de décimales doit varier dynamiquement, strconv.FormatFloat() est plus pratique car il accepte un paramètre de précision qui peut être ajusté en conséquence .

Utilisation et différences

fmt.Sprintf()

Syntaxe :

func Sprintf(format string, a ...interface{}) string
Copier après la connexion

Utilisation :

fResult := 123.456
sResult := fmt.Sprintf("%.2f", fResult) // Format the number to two decimal places
Copier après la connexion

strconv.FormatFloat()

Syntaxe :

func FormatFloat(f float64, fmt byte, prec, bitSize int) string
Copier après la connexion

Utilisation :

fResult := float64(123.456)
sResult := strconv.FormatFloat(fResult, 'f', 2, 32) // Format the number to two decimal places, assuming it's a float64
Copier après la connexion

Signification de bitSize dans strconv.FormatFloat()

Le paramètre bitSize dans strconv.FormatFloat() contrôle la manière dont l'arrondi est effectué. Il suppose que la valeur à virgule flottante d'origine avait la taille en bits spécifiée (32 pour float32, 64 pour float64). En spécifiant la taille de bit correcte, le comportement d'arrondi est optimisé pour le type de données réel de l'entrée.

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!

source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal