Next: Floating-point Constants, Previous: Setting Precision, Up: Arbitrary Precision Floats [Contents][Index]

The `ROUNDMODE`

variable provides
program level control over the rounding mode.
The correspondence between `ROUNDMODE`

and the IEEE
rounding modes is shown in Table 15.4.

Rounding Mode | IEEE Name | `ROUNDMODE` |
---|---|---|

Round to nearest, ties to even | `roundTiesToEven` | `"N"` or `"n"` |

Round toward plus Infinity | `roundTowardPositive` | `"U"` or `"u"` |

Round toward negative Infinity | `roundTowardNegative` | `"D"` or `"d"` |

Round toward zero | `roundTowardZero` | `"Z"` or `"z"` |

Round to nearest, ties away from zero | `roundTiesToAway` | `"A"` or `"a"` |

`ROUNDMODE`

has the default value `"N"`

,
which selects the IEEE-754 rounding mode `roundTiesToEven`

.
In Table 15.4, `"A"`

is listed to select the IEEE-754 mode
`roundTiesToAway`

. This is only available
if your version of the MPFR library supports it; otherwise setting
`ROUNDMODE`

to this value has no effect. See Rounding Mode,
for the meanings of the various rounding modes.

Here is an example of how to change the default rounding behavior of
`printf`

’s output:

$gawk -M -v ROUNDMODE="Z" 'BEGIN { printf("%.2f\n", 1.378) }'-| 1.37