Si solo deseas que acepte numeros te recomiendo validarlo por el valor ascii por ejemplo :
 
Código:
 
char x = 'M'           // Declaras una variable Char 
int y = (int) x        // Guardas el valor ascii de esa variable en y
  Solo tendrias que checar entre que rangos ASCII se encuentran los numeros o mas bien digitos.  
Saludos y mucha suerte!!