Je lis des données d'un fichier, le modifie et l'écris dans un autre fichier. Le nouveau fichier sera lu par un autre programme et il est donc crucial de conserver le formatage exact.
par exemple, l'un des numéros de mon fichier d'entrée est:
1.000000
mon script applique quelques maths aux colonnes et devrait revenir
2.000000
Mais ce qui est actuellement retourné est
2.0
Comment pourrais-je écrire un float par exemple my_float = 2.0
, en tant que my_float = 2.00000
dans un fichier?
Vous trouverez ci-dessus une réponse à l'aide de la commande format (), mais vous voudrez peut-être examiner l'objet bibliothèque standard Decimal si vous utilisez des éléments flottants devant représenter une valeur exacte. Vous pouvez définir la précision et l'arrondi dans sa classe de contexte, mais par défaut, il conservera le nombre de zéros que vous y placez:
>>> import decimal
>>> x = decimal.Decimal('2.0000')
>>> x
Decimal('2.0000')
>>> print x
2.0000
>>> print "{0} is a great number.".format(x)
2.0000 is a great number.
J'ai essayé de nombreuses façons, mais rien ne fonctionnait de la sorte. Je voulais enfin que cela fonctionne pour moi.
foo = 56
print (format(foo, '.2f'))
print (format(foo, '.3f'))
print (format(foo, '.5f'))
output:
56.0
56.00
56.000
56.00000
Cela signifie que le deuxième argument de format
prend la décimale dans laquelle vous devez aller. Gardez à l'esprit que format
renvoie sting.