# MX\_ROUND > [HTML Version](mx_round.htm) _Updated June 2020_ **xcall MIAMEX, MX\_ROUND, opcode, factor** MX\_ROUND (MIAMEX 127) allows you to get or set the new variable rounding factor. Note that the setting persists across programs. For an in-depth discussion of the floating point rounding issue, see [Rounding of Floating Point Variables](roundingoffloatingpoint.htm.md). **Parameters** _opcode_ ([Num](num.htm.md)) \[in\] 0 (mxop\_get) to retrieve the rounding factor, 1 (mxop\_set) to set it _factor_ (B,4 or F4, F6, and F8) \[in/out\] sets the level of precision you would like. 1 means round all variables to the nearest integer, .01 would be to the nearest hundredth. A setting of zero disables the feature, which effectively results in rounding to 48 bit precision, i.e. about 11 significant digits, in order to maintain backwards compatibility with original F6 implementation. Values greater than one are disallowed. -1 (see History below) disables the 48 bit rounding, i.e. preserves the full 64 bit IEEE precision. In order to be effective, this also requires disabling the FPROUND option, e.g. SET NOFPROUND, and adding SIGNIFICANCE 16 to the program. **History** 2020 June, A-Shell 6.5.1684: Several refinements and improvements: • F4, F6, and F8 format now accepted for _factor_. Previously only F6 was recognized. • Values for _factor_ greater than one are now rejected, since they would otherwise interfere with certain floating point operations which assume at least integer precision, such as FOR/NEXT loops. Previously it was possible to accidentally set the MX\_ROUND value to something crazy and produce seemingly inexplicable downstream errors. • An attempt to set the MX\_ROUND factor will be rejected if SCALE is in effect. The interaction between SCALE and MX\_ROUND would be too complicated for anyone to make sense of; use one or the other, or neither. • The SCALE statement now overrides and resets any prior MX\_ROUND factor. • All of the above will result in warnings in the ashlog.log file.