Bonjour à tous,
Je souhaite formatter une valeur réelle sur 8 caractères, en comptant tous les caractères, c'est à dire le signe + ou -, le séparateur décimal, le E pour la notation scientifique si besoin et bien sûr tous les chiffres significatifs.
Voici quelques formats que j'ai essayé et qui ne me donnent pas satisfaction:
-"%+#8f" ou "%8f" persiste à m'afficher 6 décimales même lorsque la valeur n'en contient pas. Je crois qu'il existe un moyen pour spécifier le nombre de décimales par défaut mais je ne le connais pas. Je ne parle pas du format "%8.0f" qui n'irait pas pour une valeur type 0.12345.
-"%+#8E" pose souci car le résultat se termine par "E+001" par exemple et prend trop de caractères. En comptant l'éventuel signe négatif, le séparateur décimal et les 5 caractères ci-dessus, il ne reste plus de place que pour un chiffre significatif...
Je précise que j'utilise un compilateur C++ et que je peux donc éventuellement utiliser des stream sur des string ou des outils dans le genre dans la bib' C++. J'utilise sprintf car ce sont les habitudes de la maison et que jusqu'ici, je le trouve plus pratique que les stream.
Si des gens ont déjà résolu ce problème, qui paraît assez simple au départ, je suis intéressé de savoir comment.
Merci !
Partager