加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

python – 检查输入是否为float并且在小数点后正好有2个数字

发布时间:2020-12-20 11:35:10 所属栏目:Python 来源:网络整理
导读:参见英文答案 user input value to use as decimal value python????????????????????????????????????2个 我正在研究一个需要我从用户那里获取浮点值的类项目.此浮点值必须在十进制后正好有两个数字才能成为有效输入.这就是我到目前为止所拥有的. while Tru
参见英文答案 > user input value to use as decimal value python????????????????????????????????????2个
我正在研究一个需要我从用户那里获取浮点值的类项目.此浮点值必须在十进制后正好有两个数字才能成为有效输入.这就是我到目前为止所拥有的.

while True:
    try:
        cost = float(input("Enter the price: "))
        if cost % 1 == 0:
            print("Invalid input for price.")

        else:
            if cost > 0:
               return cost

    except ValueError:
        print("Invalid input for price.")

比较成本%1到0排除以.00结尾的整数和浮点数,但是我不确定如何将接受的输入限制为小数点后正好有2个数字的浮点数(即x.xx).另外我相信我需要接受像5.00一样的浮动,所以我的方法不会削减它.我已经尝试将成本转换为str并设置长度限制,但这仍然让它容易出错.有什么建议?

解决方法

您可以在转换为float之前检查它:

cost = input("Enter the price: ")
if len(cost.rsplit('.')[-1]) == 2:
   print('2 digits after decimal point')

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读