DIGIT( ) function
Syntax
DIGIT(byte_location, position)
Parameters
| Name | Type | Description | 
|---|---|---|
| byte_location | numeric | 
                                                                         The byte position in the record.  | 
                                                                
| position | numeric | 
                                                                         The digit to return: 
  | 
                                                                
Output
Numeric.
Examples
Basic examples
A packed field with the value 123.45 (00 12 34 5C), containing two decimals, and starting in byte position 10, appears in the data record in the following format:
| Byte 10 | Byte 11 | Byte 12 | Byte 13 | |
|---|---|---|---|---|
| UPPER(1) | 0 | 1 | 3 | 5 | 
| LOWER(2) | 0 | 2 | 4 | C | 
Returns 3 (finds the digit that appears in the 12th position in the upper half of the byte):
DIGIT(12, 1)
Returns 4 (finds digit that appears in the 12th position in the lower half of the byte):
DIGIT(12, 2)
Remarks
How it works
DIGIT( ) separates individual halves of a byte, and returns the value of the byte specified in the position parameter as a digit between 0 and 15.
When to use DIGIT( )
Use DIGIT( ) to access individual half-bytes. This is required if you work with applications that use half-byte-aligned packed fields, such as Unisys applications.