# General Rules for Numeric Editing

The following rules apply to input and output data for numeric editing (data edit descriptors I, B, O, Z, F, E, EN, ES, EX, D, and G).

## Rules for Input Processing

Leading blanks in the external field are ignored. If the input field is not a hexadecimal-significand number or an IEEE exceptional value, the interpretation of embedded and trailing blanks is determined by the blank interpretation mode. If BLANK='NULL' is in effect (or the BN edit descriptor has been specified) embedded and trailing blanks are ignored; otherwise, they are treated as zeros. An all-blank field is treated as a value of zero.

The following table shows how blanks are interpreted by default:

Type of Unit or File | Default
--- | ---
An explicitly OPENed unit | BLANK='NULL'
An internal file | BLANK='NULL'
A preconnected file1 | BLANK='NULL'
1 For interactive input from preconnected files, you should explicitly specify the BN or BZ edit descriptor to ensure desired behavior.

A minus sign must precede a negative value in an external field; a plus sign is optional before a positive value.

In input records, constants can include any valid kind parameter. Named constants are not permitted.

If the data field in a record contains fewer than w characters, an input statement will read characters from the next data field in the record. You can prevent this by padding the short field with blanks or zeros, or by using commas to separate the input data. The comma terminates the data field, and can also be used to designate null (zero-length) fields. For more information, see Terminating Short Fields of Input Data.

## Rules for Output Processing

The field width w must be large enough to include any leading plus or minus sign, and any decimal point or exponent. For example, the field width for an E data edit descriptor must be large enough to contain the following:

- For positive numbers: d + 5 or d + e + 3 characters

- For negative numbers: d + 6 or d + e + 4 characters

For D, E, EN, ES, EX, F, and I edit descriptors, a non-negative value can have a plus sign, depending on which sign edit descriptor is in effect. If a value is negative, the leftmost nonblank character is a minus sign.

If the value is smaller than the field width specified, leading blanks are inserted (the value is right-justified). If the value is too large for the field width specified, the entire output field is filled with asterisks (*).

When the value of the field width is zero, the compiler selects the smallest possible positive actual field width that does not result in the field being filled with asterisks.

Parent topic: Data Edit Descriptors

## See Also

Forms for data edit descriptors
Format Specifications