如何评估字符串输入并检查它是否为小数

问题描述 投票:2回答:4

我使用python 3并试图弄清楚如何评估用户输入字符串并检查某些字符。

我知道这个标题可能会让我听起来像我没有听说过.isdecimal()方法,但实际上我试图允许用户输入一些数字作为小数,包括句点,以及这似乎使评估变得困难。

例如,

dec =输入()

dec.isdecimal()

如果我有输入0.5,则返回False我可能会将输入转换为小数,但如果我不想将用户的输入限制为整数,我不确定我还能如何处理此评估。

python string input decimal evaluation
4个回答
-1
投票

IIUC,你只想检查你的字符串中是否有小数。在这种情况下,您可以简单地执行以下操作。

inp_string = input()

def check_decimal(inp_string):
    return ('.' in inp_string)

check_decimal(inp_string)

0
投票

也许尝试将字符串解析为float并在成功时返回True

def stringIsFloat(s):
    try:
        float(s)
        return True
    except ValueError:
        return False

0
投票

也许使用Decimal构造函数


from decimal import Decimal

user_input = input()
try:
    dec = Decimal(user_input)
except:
    dec = None

如果在输入错误值后无法执行程序,您可能会选择提出该错误。


0
投票

你问用户Enter number:和用户回复oh man i think my number is 5.3, good?

要从这个情绪化的用户答案中提取数字5.3,你应该使用regex

import re

text = 'oh man i think my number is 5.3, good?'
num = re.search(r'\d+.?\d+', text).group()
print(float(num))

输出:

5.3
© www.soinside.com 2019 - 2024. All rights reserved.