您好我无法获取数字用户输入并将变量格式化为十进制,如此。
usrIn = Decimal input('How much money do you have in your account? ')
print (usrIn)
或
usrIn = input('How much money do you have in your account? ')
usrIn = Decimal('{0:0.5f}'.format(usrIn))
print (usrIn)
或
usrIn = input('How much money do you have in your account? ')
print (usrIn)
accBalNZD = Decimal('{0:0.5f}'.format(usrIn))
此外,我不能简单地为变量分配一个数量并将其格式化,因为它可以与其他东西一起使用。
prevAmtNZD = Decimal('{0:0.5f}'.format(0.0000000))
print (prevAmtNZD )
但这确实无法实施请帮助。
exRandUSD = Decimal('{0:0.5f}'.format(random.random()* (0.780 - 0.720) + 0.720))
答案 0 :(得分:1)
首先需要导入十进制。通过输入以下内容来执行此操作:
from decimal import Decimal
然后,你可以简单地使用:
UserIn = Decimal(input("........................."))
十进制只是另一种类型的变量,所以你以与int(input())或str(input())
相同的方式使用它希望这会有所帮助。 :)
答案 1 :(得分:0)
列出您尝试过的每种方法所遇到的问题类型会很有帮助。
from decimal import Decimal
usrIn = Decimal(input('How much money do you have in your account? '))
print(usrIn)
请记住,输入法(在Python 3中)返回一个字符串(尝试使用repr打印出来)。这就是你的第二个/第三个代码片段失败的原因。如果你将该字符串转换为浮点数,它将起作用:
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)