python 3的可靠isnumeric()函数是什么?

tex*_*979 4 python regex validation isnumeric python-3.x

我试图做一些应该非常简单的事情并检查Entry字段中的值是否是有效和实数.该str.isnumeric()方法不考虑" - "负数或".".十进制数.

我尝试为此编写一个函数:

def IsNumeric(self, event):
    w = event.widget
    if (not w.get().isnumeric()):
        if ("-" not in w.get()):
            if ("." not in w.get()):
                w.delete(0, END)
                w.insert(0, '')
Run Code Online (Sandbox Code Playgroud)

这可以正常工作,直到你回去并在那里键入字母.然后就失败了.

我研究了使用该.split()方法的可能性,但我无法找到一个可靠的正则表达式来处理它.

这是一件非常正常的事情.有任何想法吗?

Eth*_*man 14

try:
    float(w.get())
except ValueError:
    # wasn't numeric
Run Code Online (Sandbox Code Playgroud)