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') (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |