In REXX, a number is also considered a string. For example, the following is considered to be the number 500:
"500"
We would call the above a numeric string. REXX assumes a numeric string to be in base 10 (ie, decimal). Therefore a numeric string can have only the characters '0' to '9' (inclusive), a leading negative '-' or positive '+' sign, one decimal point '.', and if it has an exponent, an 'E' (followed by an optional negative or positive sign and then by one or more characters of '0' to '9' which define the power of ten).

Numeric strings can be whole numbers or decimal fractions. A whole number does not contain a decimal part. A whole number can be positive, negative, or zero. Examples of whole numbers are "5", "73", "-45", and "0". A decimal fraction is a number containing a decimal point. Examples of decimal fractions are "1.06", "0.9", and "-100.4545". A number can also be expressed in exponential form, for example, "65e+4" which is 65 to the fourth power of 10, or "4E-2".

For a number in base 10, you do not need to quote it (although you can if desired). For example, REXX considers both of the following to be the same numeric value:

"25.6"
25.6
So too, REXX considers the following to be the same numeric value. (Note that the 'e' can be upper or lower case, and the '+' sign is optional on the exponent).
"65e+4"
65E4
Numbers in base 10 use only those characters mentioned above. For example, the following string is not considered a numeric string, because it contains a non-numeric character -- a character that is not legitimate for the base 10 numbering system. (ie, It contains a "p"). Therefore it is just an ordinary (literal) string that has no numeric value at all.
"500 p"
You cannot use commas or spaces to separate characters (with the exception that you can put spaces after a leading '+' or '-' sign). For example, the following is not considered a numeric string, because it contains commas:
"1,000,000"
The proper way to express the above so that it is considered the numeric value of one million in base 10 would be without commas or spaces inbetween characters as so:
"1000000"
or just...
1000000
Although to REXX, a number is also a string, there is an important difference between a string that is numeric and one that is not. The former can be used in any mathematical expression. The latter cannot.

Note: You can express literal strings in other bases, for example, a literal string of the value F000E585 in hexadecimal could be written as 'F000E585', but REXX does not consider this a numeric string. Because it contains characters that are not part of the base 10 numbering system, REXX considers it to be just an ordinary (non-numeric) literal string. To convert it to a base 10 numeric string (so that you can use it in math operations), you'd need to use the conversion built-in function X2D(). See Different numeric bases for a more indepth discussion.