bonjour,
Je n'ai pas trouvé de solution simple pour écrire un flottant sur 12 caractères avec la meilleur précision.
voici un petit exemple:
pourquoi il ne respecte par la largeur que je lui donne?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 nc = 12 >>> val = 1186212.1987987928 >>> '{0:12.8f}'.format(val) '1186212.19879879'
même si je ne précise pas la précision :
on dirait que le largeur qu'on fournit est considérée comme largeur minimum...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 >>> '{0:12f}'.format(val) '1186212.198799'
Je ne trouve pas ça logique. Y'a quelque chose que j'ai pas compris?
la solution que j'ai trouvée est la suivante:
Je suis contraint de rester sur 12 caractères car je doit rester compatible d'un vieux code fortran qui lit par paquet de 12...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 >>> '{0:+{whith}.{precision}f}'.format(val,whith = nc, precision = nc-int(math.log10(val))-3) '+1186212.199'
Si quelqu'un a un meilleur solution, je suis preneur.
Merci
Partager