So i have some code which can be used to validate an entry widget so that only integer values can be inputted. I would like to achieve the same effect but instead of only integer values both integer values AND floating point value are excepted.
from tkinter import *
root = Tk()
def testVal(inp,acttyp):
if acttyp == '1': #insert
if not inp.isdigit():
return False
return True
entry = Entry(root, validate="key")
entry['validatecommand'] = (entry.register(testVal),'%P','%d')
entry.pack()
root.mainloop()
You can simply call float()
on the input text to determine whether it is integer or float:
from tkinter import *
def validate_entry(inp):
try:
float(inp)
except:
return False
return True
root = Tk()
Entry(root, validate='key', vcmd=(root.register(validate_entry), '%P')).pack()
root.mainloop()