Функция DATATYPE определяет, являются ли 'данные' цифровыми или алфавитными, и в качестве результата возвращает соответственно NUM или CHAR. Если из параметров указана только строка, то DATATYPE в качестве результата возвращает NUM (если строка представляет собой число (в любом формате), действительное для REXX); в противном случае результатом будет CHAR.
Если указан тип, то результат будет равен 1 (если тип символов в строке совпадает с требуемым); в противном случае результат будет равен 0. Если указана пустая строка, то в качестве результата возвращается 0 (исключая случаи, когда типом является X, что влечет за собой возврат результата 1). Ниже приведен список типов, действительных для функции DATATYPE. Следует отметить, что только заглавные буквы в указанных типах являются значащими (все остальные игнорируются).
Alphanumeric | Возвращает 1, если указанная строка содержит только те символы, которые находятся в диапазонах a-z, A-Z и 0-9. |
Bits | Возвращает 1, если указанная строка содержит только символы 0 и/или 1. |
C | Возвращает 1, если указанная строка является смешанной строкой, состоящей из символов SBCS/DBCS. |
Dbcs | Возвращает 1, если указанная строка является чистой строкой DBCS. |
Lowercase | Возвращает 1, если указанная строка содержит только те символы, которые находятся в диапазоне a-z. |
Mixed case | Возвращает 1, если указанная строка содержит только те символы, которые находятся в диапазонах a-z и A-Z. |
Number | Возвращает 1, если указанная строка является числом, действительным для REXX. |
Symbol | Возвращает 1, если указанная строка содержит только лишь те символы, которые действительны для REXX. Заметим, что допустимо указание как строчных, так и прописных букв. |
Uppercase | Возвращает 1, если указанная строка содержит только те символы, которые находятся в диапазоне A-Z. |
Whole number | Возвращает 1, если указанная строка является целым числом (по правилам REXX) по текущему назначению NUMERIC DIGITS. |
heXadecimal | Возвращает 1, если указанная строка содержит только те символы, которые находятся в диапазонах a-f, A-F, 0-9 и пробел (в случаях, когда пробелы появляются между парами шестнадцатеричных символов). Возвращает 1 и в том случае, если указанная строка является пустой. |