### 11.2.4.5 G Editing

The G data edit descriptor generally transfers values of real type, but it can be used to transfer values of any intrinsic type. It takes the following form:

  Gw.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 can be of any intrinsic type.

When used to specify I/O for integer, logical, or character data, the edit descriptor follows the same rules as Iw, Lw, and Aw, respectively, and d and e have no effect.

Rules for Real Input Processing

On input, the G data edit descriptor transfers w characters from an external field and assigns their real value to the corresponding I/O list item. The G descriptor interprets and assigns input data in the same way as the F data edit descriptor (see Section 11.2.4.1).

Rules for Real Output Processing

On output, the G 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 form in which the value is written is a function of the magnitude of the value, as described in Table 11-2.

Table 11-2 Effect of Data Magnitude on G Format Conversions

Data Magnitude | Equivalent Conversion
--- | ---
0 < m < 0.1 - 0.5 x 10-d-1 | Ew.d[Ee]
m = 0 | F(w-n).(d-1), n('b')
0.1 - 0.5 x 10-d-1 <= m < 1 - 0.5 x 10-d | F(w-n).d, n('b')
1 - 0.5 x 10-d <= m < 10 - 0.5 x 10-d-1 | F(w-n).(d-1), n('b')
10 - 0.5 x 10-d+1 <= m < 100 - 0.5 x 10-d+2 | F(w-n).(d-2), n('b')
         .
         .
         .
         .
         .
         .
10d-2 - 0.5 x 10-2 <= m < 10d-1 - 0.5 x 10-1 | F(w-n).1, n('b')
10d-1 - 0.5 x 10-1 <= m < 10d - 0.5 | F(w-n).0, n('b')
m >= 10d - 0.5 | Ew.d[Ee]

The 'b' is a blank following the numeric data representation. For Gw.d, n('b') is 4 blanks. For Gw.dEe, n('b' ) is e+2 blanks.

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 4-digit or e+2-digit exponent

If e is specified, the w should be greater than or equal to d+e+5.

The following shows output using the G edit descriptor and compares it to output using equivalent F editing (the symbol ^ represents a nonprinting blank character):

    Value               Format    Output with G     Format    Output with F
           0.01234567   G13.6     ^0.123457E-01     F13.6     ^^^^^0.012346
          -0.12345678   G13.6     -0.123457^^^^     F13.6     ^^^^-0.123457
           1.23456789   G13.6     ^^1.23457^^^^     F13.6     ^^^^^1.234568
          12.34567890   G13.6     ^^12.3457^^^^     F13.6     ^^^^12.345679
         123.45678901   G13.6     ^^123.457^^^^     F13.6     ^^^123.456789
       -1234.56789012   G13.6     ^-1234.57^^^^     F13.6     ^-1234.567890
       12345.67890123   G13.6     ^^12345.7^^^^     F13.6     ^12345.678901
      123456.78901234   G13.6     ^^123457.^^^^     F13.6     123456.789012
    -1234567.89012345   G13.6     -0.123457E+07     F13.6     *************

For More Information:

- On the form for data edit descriptors, see Section 11.2.1.
- On general rules for numeric editing, see Section 11.2.2.
- On the I data edit descriptor, see Section 11.2.3.1.
- On the L data edit descriptor, see Section 11.2.5.
- On the A data edit descriptor, see Section 11.2.6.
- On the scale factor, see Section 11.3.5.

Previous Page Next Page Table of Contents