Good, Nasib, that indeed also works.
Help topic says "9 - Permits entry of digits and signs."
I think the easiest solution still is using the spinner control with its minimum value in SpinnerLowValue and KeyboardLowValue. Set both 0 and you can't enter anything wrong. Additional to that SpinnerHighvalue and KeyboardHighvalue can be used to specify a maximum value. You can also make a difference to what can be entered via keyboard and via spinner buttons.
Also what Mike said is still true, the user should be involved and informed about the valid value range, if it's not obvious. Negative prices are a possible solution to a discount or a refund, for example, it's not a natural to disallow them. But there might be a different place in a POS app to handle refunds.
Bye, Olaf.