541 votes

Chiffres fixes après la décimale avec les chaînes f

Existe-t-il un moyen simple avec les chaînes f de Python pour fixer le nombre de chiffres après la virgule ? (Spécifiquement f-strings, pas les autres options de formatage de chaîne comme .format ou %)

Par exemple, disons que je veux afficher 2 chiffres après la décimale.

Comment je fais ça ? Disons que

a = 10.1234

1voto

Rahul Sharma Points 19
a = 10.1234

print(f"{a:0.2f}")

en 0,2f :

  • 0 indique à python de ne pas limiter le nombre de chiffres à afficher. afficher
  • .2 signifie que nous voulons prendre seulement 2 chiffres après la virgule. (le résultat sera le même qu'avec la fonction round())
  • f indique qu'il s'agit d'un nombre flottant. Si vous oubliez f, vous obtiendrez simplement un chiffre de moins après la décimale. Dans ce cas, il n'y aura qu'un seul chiffre après la décimale.

Une vidéo détaillée sur la chaîne f pour les chiffres https://youtu.be/RtKUsUTY6to?t=606

1 votes

Selon les docs docs.python.org/3/library/string.html#formatexamples f signifie "notation à virgule fixe", et non "notation flottante" > Notation à virgule fixe. Affiche le nombre comme un nombre à virgule fixe. La précision par défaut est de 6. Si vous utilisez e (semble être la valeur par défaut), il formatera votre flottant en notation exponentielle.

0 votes

Où avez-vous trouvé que la précision par défaut est de 6 ?

0 votes

@MrR : C'est dit dans le lien qu'il vient d'écrire dans le même commentaire.

0voto

Abu Bakar Points 21

Tout simplement

a = 10.1234
print(f"{a:.1f}")

Sortie : 10.1

a = 10.1234
print(f"{a:.2f}")

Sortie : 10.12

a = 10.1234
print(f"{a:.3f}")

Sortie : 10.123

a = 10.1234
print(f"{a:.4f}")

Sortie : 10.1234

Il suffit de changer la valeur après le signe du point décimal qui représente le nombre de points décimaux que vous voulez imprimer.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X