Question

mon entrée est 3,23, mais quand je l'utilise flottant sur elle, il devient 3.2,

quand mon entrée est 3,00, quand je fais flotter sur, il devient 3.0

quand je convertir flotter de chaîne, je veux encore qu'il soit 3,00 et 3.0 c'est possible? Je veux savoir le code pour le rendre possible, et quand je fais un problème dans lequel le point décimal jusqu'à 2 chiffres d'importance, 3,23 est mieux que 3,2, pour plus de précision

Était-ce utile?

La solution

Je suppose que ce que vous voulez est de convertir un flotteur en une chaîne avec le nombre de décimales que vous voulez. Vous pouvez obtenir qu'utiliser% .3f (ici 3 est le nombre de décimales que vous souhaitez imprimer Par exemple:.

>>> print "Value: %.2f" % 3.0000

Valeur: 3,00

Autres conseils

Étant donné que ce fil est d'abord sur les mots « chaîne de mise en forme python décimal », je pense qu'il est bon de fournir une réponse plus récente:

>>> P=34.3234564
>>> string="{:.2f}".format(P)
>>> string
'34.32'

si vous voulez utiliser la précision décimale le python decimal Module:

from decimal import Decimal
x = Decimal('3.00')
print x

Cette impression:

Decimal('3.00')

Si vous souhaitez imprimer un nombre à virgule flottante à une précision désirée, vous pouvez utiliser des codes de mise en forme de sortie comme suit:

En supposant que x = 3,125

print "%.1f" % (x)    # prints 3.1
print "%.2f" % (x)    # prints 3.12
print "%.3f" % (x)    # prints 3.125
print "%.4f" % (x)    # prints 3.1250

Cela fonctionne en Python 2.6 (je pense qu'ils ont changé la fonction d'impression dans la version 3).

Vous devez aussi réaliser que les nombres à virgule flottante ne peuvent être stockés avec une certaine précision, donc parfois vous n'obtiendrez exactement le même nombre de retour. Par exemple 0,1 peut être stocké sous forme de quelque chose comme 0,9999999987.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top