如何获取用户输入十进制格式



嗨,我在获取数字用户输入并将变量格式化为十进制时遇到问题。

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))

首先需要导入十进制。通过键入以下内容来执行此操作:

from decimal import Decimal

然后,您可以简单地使用:

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

十进制只是另一种类型的变量,因此您可以使用与int(input(((或str(input(((相同的方式使用它

希望这有帮助。 :)

列出您尝试的每种方法所遇到的问题类型会很有帮助。

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)