To limit the input to only numbers and periods add the IME library to the IDE and and these lines to your code, assuming you edit text name is MyEditText.
B4X:
Dim IME as IME
IME.Initialize("IME")
IME.SetCustomFilter(MyEditText,MyEditText.INPUT_TYPE_NUMBERS,"0123456789.")
I just want to be sure that you have not forgotten the dot in:"0123456789."
I tested the code on a device with OS4.03 and another tablet with OS2.2 before I posted it and both worked well. They showed the dot along with the numbers in the keypad. Perhaps, it is a bug in some devices as mc73 mentioned.