J'ai une fonction prenant des arguments flottants (généralement des entiers ou des décimales avec un chiffre significatif), et je dois sortir les valeurs dans une chaîne avec deux décimales (5 -> 5,00, 5,5 -> 5,50, etc.). Comment puis-je faire cela en Python?
python
string
programming-languages
floating-point
MarathonStudios
la source
la source
d=3
, la syntaxe est"{:.{}f}".format(5, d)
Formatage de chaîne f :
C'était nouveau dans Python 3.6 - la chaîne est placée entre guillemets comme d'habitude, précédée de
f'...
la même manière que vous le feriezr'...
pour une chaîne brute. Ensuite, vous placez ce que vous voulez mettre dans votre chaîne, vos variables, vos nombres, entre accoladesf'some string text with a {variable} or {number} within that text'
- et Python évalue comme avec les méthodes de formatage de chaîne précédentes, sauf que cette méthode est beaucoup plus lisible.Vous pouvez voir dans cet exemple que nous formons avec des décimales de la même manière que les méthodes de formatage de chaîne précédentes.
NB
a
peut être un nombre, une variable ou même une expression par exemplef'{3*my_func(3.14):02f}'
.À l'avenir, avec le nouveau code, je préfère les f-strings aux méthodes courantes% s ou str.format () car les f-strings peuvent être beaucoup plus lisibles et sont souvent beaucoup plus rapides .
la source
Formatage de chaîne:
la source
math.floor
,math.ceil
ouround
Utilisation du formatage de chaîne python.
la source
Formatage de chaîne:
OU
La fonction ronde peut être utilisée:
La bonne chose à propos de round () est que nous pouvons stocker ce résultat dans une autre variable, puis l'utiliser à d'autres fins.
la source
round
. Il ne doit pas être utilisé uniquement à des fins d' affichage .round(5.0001, 2)
->5.0
, pas'5.00'
Syntaxe Python 3 la plus courte:
la source
Si vous voulez réellement changer le nombre lui-même au lieu de l'afficher différemment, utilisez format ()
Formatez-le à 2 décimales:
exemple:
la source
Je sais que c'est une vieille question, mais j'avais du mal à trouver la réponse moi-même. Voici ce que j'ai trouvé:
Python 3:
la source
Utilisation de la syntaxe Python 3:
la source
Si vous souhaitez obtenir une valeur à virgule flottante avec deux décimales limitées au moment de l'appel de l'entrée,
Vérifiez ceci ~
la source
eval
une chaîne alors que vous pourriez justeround
? Quoi qu'il en soit, cela ne fonctionne même pas correctement car si vous alimentez5
, vous obtenez5.0
au lieu de ce5.00
que OP veut.nan
etinf
.