2017-09-13 4 views
-1

Tout d'abord désolé si ce problème est déjà publié mais je ne pouvais pas le trouver.Mise en forme des flotteurs à une certaine précision en python

Je viens de commencer avec python et le codage dans PyCharm. Faire des exercices et ne comprend pas pourquoi ma recette n'est pas formatée correctement.

Comme vous le voyez sur l'image, je voudrais formater le résultat (nombre flottant) avec la précision '.2f'. il fonctionne avec avec quelques chiffres, mais comme je l'ai entré 11 ou 45, 99

Le montant n'est pas formaté avec une précision de 0,2. Je suis novice à cela mais pourriez-vous s'il vous plaît me montrer la lumière ou au moins le point où trouver la bougie? (Solution)

cookie_problem

+2

Code dans le corps de la question _only_, pas de photos ... –

+0

Bienvenue sur StackOverflow. S'il vous plaît lire https://stackoverflow.com/help/mcve puis cliquez sur «modifier» pour éditer votre question afin que nous puissions vous aider. Plus précisément, vous devez inclure toutes les informations pertinentes * dans le corps de la question * de sorte que si le lien disparaît, la question sera toujours valide et utile. Cela devient également beaucoup plus facile pour nous, donc vous avez plus de chances d'obtenir l'aide dont vous avez besoin! D'autres liens utiles sont: quels types de questions puis-je demander https://stackoverflow.com/help/on-topic, et Comment demander: https://stackoverflow.com/help/how-to-ask. Bonne chance. – SherylHohman

+0

Si votre question a été répondue, s'il vous plaît _accept_ le plus utile. Regardez: https://stackoverflow.com/help/accepted-answer et cliquez sur la case grise jusqu'à ce qu'elle devienne verte. Vous ne pouvez en accepter qu'un alors choisissez celui qui vous a le plus aidé. –

Répondre

0

Vous devez appeler le format après avoir fait la multiplication. Dans votre code vous formatez que le sucre, le beurre valeurs etc., mais vous devez formater les valeurs sugar_calcul etc. pour elle de montrer correctement

print('For', cookies, 'You would need the following:') 
print(format(sugar_calcul, '.2f'),': cups of sugar') 
print(format(butter_calcul, '.2f'), ': cups of butter') 
print(format(flour_calcul, '.2f'), ': cups of flour') 
print('Enjoy Your cookies !') 
0

note quelques petites choses. Tout d'abord, format retourne une chaîne:

In [63]: format(11, '.2f') 
Out[63]: '11.00' 

Ensuite, convertir cette chaîne à un flotteur provoque la précision à régler à tout ce python veut que ce soit.

In [64]: float(format(11, '.2f')) 
Out[64]: 11.0 

Dans l'affichage, il est nécessaire d'appeler formatalors seulement. Le faire avant est sans signification, parce que la valeur change pendant le calcul. Mieux encore, utilisez str.format.

print('{:.2f} cups of sugar'.format(sugar_calcul) 
...