【问题标题】:How to get user input decimal format如何获取用户输入的十进制格式
【发布时间】:2017-08-15 20:19:37
【问题描述】:

您好,我无法像这样获取数字用户输入并将变量格式化为十进制。

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

【问题讨论】:

  • 第一个小数点的()s 在哪里? value = Decimal(input('...'))

标签: python-3.x format decimal


【解决方案1】:

您首先需要导入十进制。输入:

from decimal import Decimal

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

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

十进制只是另一种类型的变量,所以你使用它的方式和 int(input()) 或 str(input()) 一样

希望这会有所帮助。 :)

【讨论】:

  • 仅供参考:您绝对不需要将 input() 的返回值转换为字符串,它已经是一个字符串(在 Python 3 中)。
【解决方案2】:

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

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

请记住,输入法(在 Python 3 中)返回一个字符串(尝试使用 repr 将其打印出来)。这就是您的第二个/第三个代码 sn-ps 失败的原因。如果您将该字符串转换为浮点数,它将起作用:

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)

【讨论】:

  • 谢谢你们,有时这是您想念的简单事情
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-11-13
  • 1970-01-01
  • 1970-01-01
  • 2010-10-14
  • 2016-01-24
  • 2018-09-01
相关资源
最近更新 更多