Ваш вопрос подразумевает, что вы делаете какой-то отформатированный номер.Тогда может показаться безопасным предположение, что вы собираетесь работать с фиксированным числом десятичных разрядов (так как более часто встречается форматированное число с фиксированным количеством десятичных разрядов, чем без).
Если это правда, то вам вообще не нужны кнопки . или , .Вы могли бы просто начать с фиксированного числа десятичных знаков и переместить все заново.Например, допустим, вы хотите ввести число «4 238,07».
______.__ //type 4
______._4 //type 2
______.42 //type 3
_____4.23 //type 8
____42.38 //type 0
___423.80 //type 7
_4,238.07