Decimal or hexdec keypad?
Assuming decimal numbers, each digit you press is = 10x the next one, so something like
int value = 0;
int factor = 1000;
for (i = 3; i != 0; i--) {
value += getKeyVal() * factor;
factor /= 10;
}
Also assumes you always have 4 digits so may need mods, but that's the general idea.
Rob