如何在Python中检查字符串是否可以转换为浮点数?


在这篇文章中,我们将重点介绍如何检查 Python 中的字符串是否可以转换为浮点数。

第一种方法是使用 **float()** 类型转换。我们将使用异常处理编写一个函数,并检查给定的字符串是否可以转换为浮点数;如果可以转换,则返回 True,否则返回 False。

**float()** 方法为给定的数字或文本返回一个浮点数。如果未提供值或参数为空,它将返回 0.0 作为浮点值。

示例 1

在这个例子中,我们以字符串作为输入,并使用 **float()** 类型转换检查它是否可以转换为浮点数。

def isFloat(s):
   try:
      float(s)
      return True
   except:
      return False
      
str1 = "36.9"
print("The given string is")

print(str1)
print("Checking if the given string can be converted into float")

res = isFloat(str1)
print(res)

输出

上面示例的输出如下所示:

The given string is
36.9
Checking if the given string can be converted into float
True

示例 2

在下面的示例中,我们使用与上面相同的程序,但使用不同的输入来检查它是否可以转换为浮点数。

def isFloat(s):
   try:
      float(s)
      return True
   except:
      return False
      
str1 = "Welcome"
print("The given string is")

print(str1)
print("Checking if the given string can be converted into float")

res = isFloat(str1)
print(res)

输出

上面示例的输出如下所示:

The given string is
Welcome
Checking if the given string can be converted into float
False

使用 isdigit() 和 replace() 方法

第二种方法是使用 **isdigit()** 和 **replace()**。我们将用空格替换浮点数中存在的“**.**”,并使用 **isdigit()** 检查结果字符串。如果所有字符都是数字,则返回 True,否则返回 False。

示例 1

在这个例子中,我们以字符串作为输入,并使用 isdigit() 和 **replace()** 方法检查它是否可以转换为浮点数。

str1 = "69.3"
print("The give string is")

print(str1)
print("Checking if the given string can be converted into float")

res = str1.replace('.', '', 1).isdigit()
print(res)

输出

上面示例的输出如下所示:

The give string is
69.3
Checking if the given string can be converted into float
True

示例 2

在下面的示例中,我们使用与上面相同的程序,但使用不同的输入来检查它是否可以转换为浮点数。

str1 = "Welcome"
print("The give string is")

print(str1)
print("Checking if the given string can be converted into float")

res = str1.replace('.', '', 1).isdigit()
print(res)

输出

上面示例的输出如下所示:

The give string is
Welcome
Checking if the given string can be converted into float
False

更新于:2022年12月7日

2K+ 次浏览

开启您的 职业生涯

完成课程获得认证

开始学习
广告