📅  最后修改于: 2023-12-03 15:04:17.664000             🧑  作者: Mango
在实际编程中,经常需要判断字符串是否为负数。本文将介绍 Python 中如何检查字符串是否为负数的方法。
import re
def is_negative_number(s):
if re.match(r'^-\d+(\.\d+)?$', s):
return True
else:
return False
使用正则表达式可以较为简单地判断字符串是否为负数。上述代码中,^-\d+(\.\d+)?$
表示匹配符合条件的字符串,其中:
^
表示字符串的开始-
表示负数符号\d+
表示匹配一个或多个数字(\.\d+)?
表示小数点后一位或多位的数字,可能没有,需要加上括号和问号表示可选$
表示字符串的结尾如果正则表达式匹配成功,说明字符串是负数,返回 True;否则返回 False。
def is_negative_number(s):
try:
if float(s) < 0:
return True
else:
return False
except ValueError:
return False
使用强制类型转换也可以判断字符串是否为负数。上述代码中,float(s)
将字符串转换为浮点数,如果转换成功,并且浮点数小于 0,说明字符串为负数,返回 True;否则返回 False。如果转换失败,说明字符串不是数字类型,返回 False。
以上是 Python 中检查字符串是否为负数的两种方法。使用正则表达式判断较为准确,而强制类型转换可能存在类型转换失败的情况,需要加上异常处理。选择合适的方法,视具体情况而定。