在python中,有没有办法确定字符串中的值是否为浮点值?
我对字符串有一个问题,我知道使用isdigit我们可以找到字符串中的整数是否为int,但如何找到它在字符串中的浮点值。我也使用了iInstance,尽管它不起作用。在字符串中查找值的任何其他替代方法是float还是not 我的代码:在python中,有没有办法确定字符串中的值是否为浮点值?,python,string,isinstance,Python,String,Isinstance,我对字符串有一个问题,我知道使用isdigit我们可以找到字符串中的整数是否为int,但如何找到它在字符串中的浮点值。我也使用了iInstance,尽管它不起作用。在字符串中查找值的任何其他替代方法是float还是not 我的代码: v = '23.90' isinstance(v, float) 其中: False 例外输出: True 您可以将其强制转换为float或int,然后捕获最终的异常,如下所示: try: int(val) except: print(&quo
v = '23.90'
isinstance(v, float)
其中:
False
例外输出:
True
您可以将其强制转换为float或int,然后捕获最终的异常,如下所示:
try:
int(val)
except:
print("Value is not an integer.")
try:
float(val)
except:
print("Value is not a float.")
v = '23.90'
try:
if v.rstrip('0') == str(float(v)).rstrip('0'):
print("Float")
else:
print("Not Float")
except:
print("Not Float!")
您可以在except部分返回False,在try部分的强制转换后返回True,如果这是您想要的。也许您可以试试这个
def in_float_form(inp):
can_be_int = None
can_be_float = None
try:
float(inp)
except:
can_be_float = False
else:
can_be_float = True
try:
int(inp)
except:
can_be_int = False
else:
can_be_int = True
return can_be_float and not can_be_int
您可以通过isdigit检查数字是否为整数,并根据这一点返回值
s = '23'
try:
if s.isdigit():
x = int(s)
print("s is a integer")
else:
x = float(s)
print("s is a float")
except:
print("Not a number or float")
一种非常简单的方法是将其转换为float,然后再次转换为string,然后将其与原始字符串进行比较,如下所示:
try:
int(val)
except:
print("Value is not an integer.")
try:
float(val)
except:
print("Value is not a float.")
v = '23.90'
try:
if v.rstrip('0') == str(float(v)).rstrip('0'):
print("Float")
else:
print("Not Float")
except:
print("Not Float!")
这回答了你的问题吗?这回答了你的问题吗?如果s=text怎么办?@Ruan这次尝试,expect块将处理s=text的边缘情况。