检查浮点值是否包含减号(连字符减号)-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()