答案 0 :(得分:2)
要回答您的问题,请查看isdigit
方法的python 3.6 documentation。
如果字符串中的所有字符都是数字且至少有一个字符,则返回true,否则返回false。
由于下划线不是数字,因此新格式不适用于isdigit
的当前实现。正如我之前评论过的,当前的解决方法是:str.replace("_", "").isdigit()
其中 str 是包含新格式化数字的字符串,同时避免使用int
的try-except块。
答案 1 :(得分:1)
您还需要取消负整数的负号。这样负的整数也会起作用。 str.replace("_", "").lstrip("-").isdigit()
。