Python:Float需要在负数后返回空格

时间:2017-11-04 22:43:32

标签: python

我无法找出实现这一目标的正确方法。

如果我输入float("- 4"),我希望它返回-4.0,无论空白或空格如何。因此,这也需要与其他输入一起使用,例如" - 4"。但我不希望这会影响该函数的任何其他结果,因此"4 -""5 5"等输入也不应该复合。

我写了一个函数来尝试确定某些东西是否是我程序的正确输入。

def isNum(num):

   try:
       float(expr)
   except ValueError:
       return False
   return True

上面的整个输入问题令我感到沮丧。

1 个答案:

答案 0 :(得分:2)

简单地删除import re def parse_float(inp): return float(re.sub(r'-\s*(\d)', r'-\1', inp)) 和右边任何数字之间的空格:

>>> parse_float("  -  4  ")
-4.0
>>> parse_float(" 5 ")
5.0

示例:

ValueError

对于无效的浮点数,它会因>>> parse_float(" 4 - ") ... ValueError: invalid literal for float(): 4 - >>> parse_float(" 5 5 ") ... ValueError: invalid literal for float(): 5 5 而失败:

if