2010-07-30 1 views
2

Simple question, désolé, je peux; t comprendre. J'ai quelques chiffres qui sont faits par flotteur (STRING) et ils sont affichés sous forme xxx.0, mais je veux qu'ils se terminent par 00 il est en effet un nombre entier. Comment ferais-je cela?Comment faire des valeurs flottantes dans Python afficher .00 au lieu de .0?

Merci!

EDIT:

Python saiys qui flottent n'a pas de format '()' cal

+0

Vous voulez créer votre chaîne de format, appelez 'format' là-dessus, et passer votre flotteur comme argument. –

Répondre

11
>>> '%.2f' % 2.0 
'2.00' 
+1

Ce style de formatage n'est plus à privilégier. S'il vous plaît vérifier le document suivant: http://docs.python.org/py3k/library/stdtypes.html#old-string-formatting-operations –

+1

@Noctis, si vous utilisez Python 3 exclusivement, absolument. Si vous utilisez Python 2 (et que vous souhaitez par exemple pour rester compatible avec cet environnement de déploiement très populaire connu sous le nom de Google App Engine, ce qui nécessite Python 2.5), pour cent formatage est encore mieux (depuis Python 2.5 ne prend pas en charge le nouveau format ' 'de cordes) - remarquez que l'OP semble avoir des problèmes avec' format' pas trouvé, alors que l'approche ''% de _far_ fonctionne plus largement. –

+1

semble que vous vous attendiez à ce que GAE soit bloqué à 2,5 pendant un certain temps :( –

2

aussi:

>>> "{0:.2f}".format(2.0) 
'2.00' 
+0

comme Python 3000 une meilleure reconnaissance des gains, cela devrait devenir la manière standard de chaînes de mise en forme la documentation se trouve ici. http://docs.python.org/py3k/library/stdtypes.html#str.format –

1

Si vous ne voulez pas les chiffres pour être arrondi, vous devez faire un peu plus:

>>> "%.2f" % 1.99999 
'2.00' 
>>> "%.2f" % (int(1.99999*100)/100.0) 
'1.99' 
1
>>> "{0:.2f}".format(2) 
'2.00' 

Pour plus d'informations sur la syntaxe {0}.format(), regardez ici: Format String Syntax

Questions connexes