How can I check if a string represents an int, without using try/except?

前端 未结 19 1871
悲哀的现实
悲哀的现实 2020-11-22 00:36

Is there any way to tell whether a string represents an integer (e.g., \'3\', \'-17\' but not \'3.14\' or \'asf

19条回答
  •  囚心锁ツ
    2020-11-22 01:08

    I think

    s.startswith('-') and s[1:].isdigit()
    

    would be better to rewrite to:

    s.replace('-', '').isdigit()
    

    because s[1:] also creates a new string

    But much better solution is

    s.lstrip('+-').isdigit()
    

提交回复
热议问题