Maison >développement back-end >Golang >Pourquoi `fmt.Printf` avec `%g` et les champs Largeur/Précision se comportent-ils de manière inattendue ?
fmt.Printf avec des champs de largeur et de précision dans %g se comporte de manière inattendue
Lorsque vous essayez de formater des flottants avec une largeur cohérente à l'aide de fmt.Printf (), il peut ne pas se comporter comme prévu lors de l'utilisation du spécificateur de format %g avec les champs de largeur et de précision.
Selon la documentation, le champ de précision pour %g définit le nombre total de chiffres, à l'exclusion de tout interligne. des zéros. Cependant, le spécificateur de format %g a des comportements uniques qui peuvent prêter à confusion.
Zéros non significatifs et comptage de chiffres :
Exemples :
Précision et largeur :
Votre cas :
Dans votre exemple, vous avez utilisé .9g, qui spécifie une largeur minimale de 10 et un total de 9 chiffres. Cependant, les comportements suivants se produisent :
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!