If you set the InputMask = "########" for the textbox then you may enter digits, decimal points, and signs.
If you need exact number of places different for each keyboard input then you have to create the InputMask in advance.
Another possibility is to control entered characters in InteractiveChange event which is fired after each key press.
What you mean by "0 truncation at the end"? If it is just some entered number adjustment then you may do it in Valid event.