# ES Editing

The ES data edit descriptor transfers values by using scientific notation. It takes the following form:

ESw.d[Ee]

where w is the total field width, d is the number of places after the decimal point, and e is the number of digits in the exponent.

If w is zero, the processor selects the field width. If e is present and zero, the exponent part contains the minimal number of digits needed to represent the exponent.

The specified I/O list item must be of type real, or it must be the real or imaginary part of a complex type.

## Rules for Input Processing

On input, the ES data edit descriptor transfers w characters from an external field and assigns their real value to the corresponding I/O list item. The ES descriptor interprets and assigns input data in the same way as the F data edit descriptor. w cannot be zero for input. If e is present, it has no effect on input.

The following shows input using the ES edit descriptor (the symbol ^ represents a nonprinting blank character):

    Format     Input           Value
    ES11.3      ^^5.321E+00       5.32100
    ES11.3       -6.000E-03       -.60000
    ES12.3     ^^^3.150E-03        .00315
    ES12.3     ^^^3.829E+03    3829.0

## Rules for Output Processing

On output, the ES data edit descriptor transfers the real value of the corresponding I/O list item, right-justified and rounded to d decimal positions, to an external field that is w characters long if w is positive. The real value is output in scientific notation, where the absolute value of the significand is greater than or equal to 1 and less than 10 (unless the output value is zero).

If w is greater than zero, it should be greater than or equal to d+7 to allow for the following:

- A sign (optional if the value is positive and descriptor SP is not in effect)

- One digit to the left of the decimal point

- The decimal point

- The d digits to the right of the decimal point

- The exponent

The exponent takes one of the following forms:

Edit Descriptor | Absolute Value of Exponent | Positive Form of Exponent | Negative Form of Exponent
--- | --- | --- | ---
ESw.d | |exp| 99 | E+nn | E-nn
| 99 < |exp| 999 | +nnn | -nnn
ESw.dEe | |exp| 10e - 1 | E+n1n2...ne | E-n1n2...ne

If an exponent exceeds its specified or implied width, or the number of characters produced exceeds the field width, the entire field of width w is filled with asterisks.

The exponent field width (e) is optional; if omitted, the default value is 2. If e is specified, the w should be greater than or equal to d + e + 5.

For an internal value that is an IEEE infinity or an IEEE NaN, the form of the output field is the same as for Fw.d.

The following shows output using the ES edit descriptor (the symbol ^ represents a nonprinting blank character):

    Format     Value         Output
    ES11.2     473214.356    ^^^4.73E+05
    ES11.5     473214.356    4.73214E+05
    ES12.3          0.00069  ^^^6.900E-04
    ES10.3         -0.5555   -5.555E-01
    ES11.2          0.0      ^0.000E+00

Parent topic: Real and Complex Editing

## See Also

Forms for data edit descriptors
General rules for numeric editing