193 votes

Convertir un nombre à virgule flottante avec une certaine précision, puis le copier dans une chaîne de caractères.

J'ai un nombre à virgule flottante, disons 135.12345678910 . Je veux concaténer cette valeur à une chaîne de caractères, mais je veux seulement 135.123456789 . Avec print, je peux facilement faire cela en faisant quelque chose comme :

print "%.9f" % numvar

avec numvar étant mon numéro d'origine. Existe-t-il un moyen simple de procéder ?

2voto

user1635700 Points 160

Pour régler la précision avec 9 chiffres, obtenez :

print "%.9f" % numvar

Retourner la précision avec 2 chiffres :

print "%.2f" % numvar 

Retourne la précision avec 2 chiffres et la valeur convertie en float :

numvar = 4.2345
print float("%.2f" % numvar)

-3voto

ethemsulan Points 101

El str a un bug. Veuillez essayer ce qui suit. Vous verrez '0,196553' mais la sortie correcte est '0,196554'. Parce que la fonction str La valeur par défaut de la fonction est ROUND_HALF_UP.

>>> value=0.196553500000 
>>> str("%f" % value).replace(".", ",")

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