You mean an argument passed to the script when it is started? As in
Code:
myscript some_argument
In that case "some_argument" would be $1 in the script and it is a string which may or may not be a number.
To advise on how to test whether it is a number, you will have to tell us what you mean by number: (un)signed integer, float (with how many decimal places?), exponential format, binary, octal, hex, maximum size ... "number" on its own is an imprecise term in computing.