The ES data edit descriptor transfers values by using scientific notation. It takes the following form:
ESw.d[Ee]
The value of d (the number of places after the decimal point) plus e (the number of digits in the exponent) must not exceed the value of w (the field width).
The specified I/O list item must be of type real, or it must be the real or imaginary part of a complex type.
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.
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
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. 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).
The w 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 the exponent value is too large to be converted into one of these forms, an error occurs.
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.
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