📜  python 检查字符串是否为负数 - Python (1)

📅  最后修改于: 2023-12-03 15:04:17.664000             🧑  作者: Mango

Python 检查字符串是否为负数

在实际编程中,经常需要判断字符串是否为负数。本文将介绍 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 中检查字符串是否为负数的两种方法。使用正则表达式判断较为准确,而强制类型转换可能存在类型转换失败的情况,需要加上异常处理。选择合适的方法,视具体情况而定。