检查浮点值是否包含减号(连字符减号)-Python

检查浮点值是否包含减号(连字符减号)-Python,python,Python,我只想检查变量是否包含负值,但它不断向我抛出以下错误: Traceback (most recent call last): File "C:\...\...\...\file.py", line 88, in <module> main() File "C:\...\...\...\file.py", line 33, in main if '-' in done: TypeError: argument of type 'float' is not i

我只想检查变量是否包含负值,但它不断向我抛出以下错误:

Traceback (most recent call last):
  File "C:\...\...\...\file.py", line 88, in <module>
     main()
  File "C:\...\...\...\file.py", line 33, in main
     if '-' in done:
TypeError: argument of type 'float' is not iterable
[Finished in 0.2s with exit code 1]

float
对象中不存在字符串。只需执行数字比较:

if flo < 0:
    print('yes')

当然,在第二种情况下,比较第一个字符或字符串的开头更为明智,例如
val[0]='-'
val.startswith('-')

只需将强制转换从
str
移到
float
,就可以控制减号的出现:

def main():
   val = '-96000'

   if '-' in val:
       print('yes')

if __name__ == '__main__':
   main()
或者更好地控制
str
实际上以减号开头:

   if val.startswith('-'):
       print('yes')
或者更好,仍然强制转换为浮动,然后控制数据的值:

def main():
   val = '-96000'
   flo = float(val)
   if flo < 0:
       print('yes')

if __name__ == '__main__':
   main()
def main():
val='-96000'
flo=浮动(val)
如果flo<0:
打印('是')
如果uuuu name uuuuuu='\uuuuuuu main\uuuuuuu':
main()

您已经有了一个浮点值。转换前请检查,如果flo<0:,请使用
   if val.startswith('-'):
       print('yes')
def main():
   val = '-96000'
   flo = float(val)
   if flo < 0:
       print('yes')

if __name__ == '__main__':
   main()