Я пытаюсь сделать то, что должно быть очень простым, и проверить, является ли значение в поле 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, '')
Это работает нормально, пока вы не вернетесь и не наберете там буквы. Тогда это терпит неудачу.
Я исследовал возможность использования метода .split()
, но не смог найти надежное регулярное выражение для него.
Это совершенно нормальная вещь, которую необходимо сделать. Любые идеи?