2017-08-15 1 views
0

Salut J'ai des difficultés à obtenir une entrée utilisateur numérique et à formater la variable en décimal comme cela.Comment obtenir le format décimal d'entrée de l'utilisateur

usrIn = Decimal input('How much money do you have in your account? ') 
print (usrIn) 

ou

usrIn = input('How much money do you have in your account? ') 
usrIn = Decimal('{0:0.5f}'.format(usrIn)) 
print (usrIn) 

ou

usrIn = input('How much money do you have in your account? ') 
print (usrIn) 
accBalNZD = Decimal('{0:0.5f}'.format(usrIn)) 

Je ne peux pas également Assignez simplement une variable une quantité et le format pour une raison quelconque, il travaille avec d'autres choses.

prevAmtNZD = Decimal('{0:0.5f}'.format(0.0000000)) 
print (prevAmtNZD) 

Mais cela ne fonctionne pas avoir de la difficulté à implémenter s'il vous plaît aider.

exRandUSD = Decimal('{0:0.5f}'.format(random.random()* (0.780 - 0.720) + 0.720)) 
+0

Où sont vos '()' décimales dans le premier? 'value = Decimal (entrée ('...'))' –

Répondre

0

Il serait utile d'énumérer les types de problèmes que vous avez vus avec chaque approche que vous avez essayée.

from decimal import Decimal 
usrIn = Decimal(input('How much money do you have in your account? ')) 
print(usrIn) 

Gardez à l'esprit que la méthode d'entrée (en Python 3) renvoie une chaîne (essayez de l'imprimer avec rééd). C'est pourquoi vos extraits de code deuxième/troisième échouent. Si vous convertissez cette chaîne en un flottant, cela fonctionnera:

from decimal import Decimal 
usrIn = input('How much money do you have in your account? ') 
print(repr(usrIn)) 
usrIn = Decimal('{0:0.5f}'.format(float(usrIn))) 
print (usrIn) 
+0

Merci à vous deux fois parfois ce sont les choses simples que vous manquez –

1

Vous devez d'abord importer le format décimal. Pour ce faire, en tapant:

from decimal import Decimal 

Ensuite, vous pouvez simplement utiliser:

UserIn = Decimal(input(".........................")) 

décimal est juste un autre type de variable, de sorte que vous utilisez de la même manière que int (entrée()) ou str (input())

Espérons que cela aide. :)

+0

fyi: Vous n'aurez certainement pas besoin de convertir la valeur de retour d'input() en une chaîne, il est déjà une chaîne (en Python 3). –