Python – 检查浮点数字符串


字符串由字符组成,为了将其转换为浮点数数据类型,Python 通过使用内置函数提供了多种方法。借助这些内置函数,我们可以轻松地检查浮点数字符串。本文将指导用户学习如何检查字符串是否包含浮点值。为此,将演示三种验证浮点数字符串的策略。isdigit() 方法也用于检查给定字符串是否仅包含数字。然后使用 count() 和 replace() 检查字符串是否包含小数和数字的其他字符。

方法

方法 1 - 使用 try-except 块

方法 2 - 使用正则表达式

方法 3 - 使用 isdigit() 方法

方法 1:使用 try-except 块检查浮点数字符串的 Python 程序

函数使用字符串变量定义,并使用 try-except 方法,print 语句返回“True”或“False”的值。

算法

  • 步骤 1 - 函数使用一个包含“str”变量的参数定义。

  • 步骤 2 - 如果参数包含浮点值,则返回“True”,否则返回“false”。

  • 步骤 3 - 函数内部使用 float() 方法将给定的字符串转换为浮点类型,成功后返回 true,否则返回 false。

  • 步骤 4 - 输入“str1”初始化为浮点数字符串值。

  • 步骤 5 - 根据 str 的值,打印语句。

示例

#function is defined with one parameter as str
def str_float(str1):
   try:
      int(str1)
      #returns false if it is an integer value
      return False
   except ValueError:
      #returns error if it is not a float value
      pass
   try:
      #float method is used to convert the given string to float
      float(str1)
      #returns True if it is a float value
      return True
   except ValueError:
      #returns false if it is not a float value
      return False
#str is initialized with a float value
str1 = "38.90"
if str_float(str1):
   #if true this statement will be returned
   print("Yes! float string")
else:
   #if false this statement will be returned
   print("No! float string ")

输出

Yes! float string

方法 2:使用正则表达式检查浮点数字符串的 Python 程序

函数定义正则表达式模式,其中包含给定输入字符串中可能包含的所有可能性,例如符号(+ 或 -)、整数(从 0 到多个)、指数和小数。

算法

  • 步骤 1 - 导入“re”库以使用正则表达式方法。

  • 步骤 2 - 函数使用一个包含“str”变量的参数定义。

  • 步骤 3 - 当字符串为浮点数数据类型时,返回“True”,否则返回“false”。

  • 步骤 4 - 函数内部使用 re.match() 方法查找输入字符串与给定正则表达式之间的匹配项。

  • 步骤 5 - 初始化包含浮点值的 stg 变量。

  • 步骤 6 - 根据 str 的值,打印语句。

示例

#importing the re module
import re

#function is defined with one parameter as stg
def str_float(stg):
   regular_exp = re.compile("r'^[-+]?[0-9]*\.?[0-9]+([eE][-+]?[0-9]+)?$")
   if regular_exp.match(stg):
      if "." in string:
         return True
      else:
         return False
   else:
	   return False#str is initialized with a float value
stg = "38.90"
if str_float(stg):
   #if true this statement will be returned
   print("Yes! float string")
else:
   #if false this statement will be returned
   print("No! float string")

输出

Yes! float string

方法 3:使用 isdigit() 方法检查浮点数字符串的 Python 程序

算法

  • 步骤 1 - 函数使用一个包含“str”变量的参数定义。

  • 步骤 2 - 布尔函数用于在使用三个函数(即 isdigit()、count() 和 replace() 方法)检查字符串后返回值。

  • 步骤 3 - 当字符串为浮点数数据类型时,在前两个条件下返回“True”,否则返回“false”。

  • 步骤 4 - 输入“str1”指定为浮点数字符串值。

  • 步骤 5 - 最后,打印语句。

示例

# function is defined with one parameter as str
def str_float(str1):
   if str1.isdigit():
      return False
   else:
      try:
         float(str1)
         return True
      except ValueError:
         return False# str is initialized with a float value
str1 = "38.90"
if str_float(str1):
   # if true this statement will be returned
   print("Yes! float string")
else:
   # if false this statement will be returned
   print("No! float string")

输出

Yes! float string

结论

Python 程序专门用于最大程度地减少手动操作和错误。要简单地检查给定的字符串输入是否为浮点数,有多种方法。上面讨论了一些方法,例如使用 try 和 except 方法以及使用 isdigit() 函数检查浮点数字符串,当输入为整数时,它也会返回 false。

更新于: 2023年8月25日

550 次浏览

开启您的 职业生涯

通过完成课程获得认证

开始学习
广告