Multiple Methods Rounding Tool

Learning and using alternative number rounding methods with Multiple Methods Rounding Tool

Why a rounding tool? Numeric rounding is simply the process of approximating a number (often by removal of digits) to a simpler value that is close to the original. Different methods exist primarily to handle the “tie-breaker” situation (when a number is exactly halfway between two potential results, like 1.5).

The Multiple Methods Rounding Tool (below) uses the powerful decimal.js library to offer a wide range of standard industry rounding modes, including those that specifically address how to handle ties. As such, whether you use this tool on this webpage or download the HTML an launch locally, you will still need internet access.

The tool asks you to set the Rounding Place (where the rounding occurs) and the Rounding Mode (how the tie is broken). [For rounding with tolerance ranges, see Dual-Dimension Tolerance Rounding Tool.]

Rounding Modes Supported

The tool supports nine modes. Modes 0 through 7 are standard, deterministic methods, and Mode 8 is unique for statistical purposes.

ModeNameSimple Explanation (Handling Ties)Example (Rounding 1.5 to nearest unit)
0Round UpRounds away from zero. If the number is positive, it goes up; if negative, it goes down.1.5 to 2.0, -1.5 to -2.0
1Round DownRounds towards zero (also called Truncate). Simply chops off the extra digits.1.5 to 1.0, -1.5 to -1.0
2Round CeilRounds towards positive infinity (always up or stays the same).1.5 to 2.0, -1.5 to -1.0
3Round FloorRounds towards negative infinity (always down or stays the same).1.5 to 1.0, -1.5 to -2.0
4Round Half UpStandard Commercial Rounding. Rounds to the nearest digit, and if it’s a tie (exactly half), it rounds away from zero.1.5 to 2.0, -1.5 to -2.0
5Round Half DownRounds to the nearest digit, and if it’s a tie (exactly half), it rounds towards zero.1.5 to 1.0, -1.5 to -1.0
6Round Half EvenBanker’s Rounding. Rounds to the nearest digit, and if it’s a tie, it rounds to the nearest even number (to reduce statistical bias).1.5 to 2.0, 2.5 to 2.0
7Round Half CeilRounds to the nearest digit, and if it’s a tie, it rounds towards positive infinity.1.5 to 2.0, -1.5 to -1.0
8StochasticZero-Bias Rounding. It randomly rounds up or down, weighted by the fractional part, to ensure the average of many roundings is statistically correct.1.5 to 2.0 (50% of the time), 1.5 to 1.0 (50% of the time)

Multiple Methods Rounding Tool

Note: The rounding place is specified by its 10^N exponent, covering every single place value from 10^9 down to 10^-9. This utility is based on online sources, particular assumptions and calculations. This utility should only be used as a general reference. Results should always be verified. No one is responsible for incorrect information generated by this utility. Use thereof is the sole responsibility of the user. Use at your own risk.

MultipleMethodsRounding.zip

Rounding of numbers

On most computer systems, decimal numbers that have 5 as the last digit are automatically rounded up when removing a decimal place. This may create a problem.

Some people have a rule that SolidWorks drawings should not have overridden dimension values (Override values).  I generally agree.  Yet, there are several legitimate reasons to use Override values.  One major reason is for proper rounding of linear dimensions for removed digits after the decimal.  Currently, SolidWorks offers no option that allows the user to automatically round dimension numbers in a way that is consistent with current industry standards and practices.

SOLIDWORKS 2015 now has several rounding options that follow the rules below.  More information, please see SOLIDWORKS What’s New Rounding article.

Rounding rule for dimensions

On most computer systems, decimal numbers that have 5 as the last digit are automatically rounded up when removing a decimal place.  For example, the number 1.425 rounds up to 1.43.  This creates a problem.  Most standards require that such numbers are rounded to the nearest even number in the last decimal place.  For example, that number 1.425 should be rounded to 1.42, and 1.435 should be rounded to 1.44.

ASTM E 29 states:

6.4.3 When the digit next beyond the last place to be retained is 5, and there are no digits beyond this 5, or only zeros, increase by 1 the digit in the last place retained if it is odd, leave the digit unchanged if it is even. Increase by 1 the digit in the last place retained, if there are digits beyond this 5.

NASA’s Engineering Drawing Standards Manual states:

When the first digit discarded is exactly 5, followed only by zeros, the last digit retained (i.e., the digit preceding the 5…) should be rounded upward if it is an odd number, but no adjustment made if it is an even number. For example, 4.365, when rounded to three significant digits, becomes 4.36. The number 4.355 would also round to the same value, 4.36, if rounded to three significant digits.  This procedure is known as odd-even rounding.

It is my understanding that this rule helps reduce statistical bias by allowing different numbers to be rounded up or down.  Using the computer default rule (5 is always rounded up) only allows for the upward rounding of such numbers.  This can create greater statistical errors, particularly when compounding rounded numbers to derive further rounded numbers.

Rounding as it affects tolerances

No rule is absolute.  There are other considerations when rounding.  A number should never be rounded so that it increases the original limits of a dimension.  Although this rule mostly applies to inspection techniques, it can also apply to specification.  For example, if there is a feature whose size limits are 1.255-1.275, the specification cannot be rounded so its limits are 1.25-1.28.  In such a case where rounding occurs, the specification limits should be 1.26-1.27.  Fortunately, this isn’t something that often occurs in mechanical design (though it does pop up when trying to apply dual dimensions).

Usually, rounding the limits is something that more often happens in quality assurance during incoming inspection of products.  In such cases, Interpretation of Limits rule from ASME Y14.5 declares limits are absolute.  For example, 12.25 MAX is the same as 12.2500000000000000 MAX.  If the feature measurement is 12.2540, that measurement should not be rounded to 12.25, as it is still out of tolerance because it exceeded 12.25.

SolidWorks should supports more rounding options

Right now, SolidWorks does offer one rounding option for dimensions.  In documents options, there is a setting to round numbers to the nearest fraction, but only if fractional numbers are in use.  I would like to see other rounding options supported, but not a document option.  SolidWorks should have a setting added to the dimension PropertyManager that allows the user to establish a rounding rule for a particular dimension.  For each dimension, users should have a choice to use the odd-even rounding rule, nearest fraction rounding rule (only when fractional numbers are in use) or always round 5 up rule.  This shouldn’t just be for drawings.  It should also be available in the model because they are often used as part of the product definition and because dimensions in the model can be inserted into a drawing.

For now, one can use Override values on the drawing.  The drawback to this is that Override values do not automatically update if there is a change to the associated model geometry.

So, this sounds like this issue should be yet another Enhancement Request.

As of SOLIDWORKS 2015, there are several options for numerical rounding which are available.

  • Round half away from zero, where the only digit being removed is 5, then round the last remaining digit away from zero.
  • Round half towards zero, where the only digit being removed is 5, then round the last remaining digit towards zero.
  • Round half to even, where the only digit being removed is 5, then round the last remaining digit so that it is an even number.
  • Truncate without rounding, where any and all digits being removed have no effect on the last remaining digit.

There is also an option to only apply alternative round methods to dimensions, with the setting Only apply rounding method to dimensions.  When this setting is checked, round half away from zero method is applied to all system and properties values, but the alternative rounding method (round half towards zero, round half to even or truncate without rounding) is applied specifically to dimensions.  Without this option checked, the chosen rounding method applies everywhere in SOLIDWORKS.

To account for dual dimensioning issues, tolerance rounding includes an option to fit the secondary unit’s tolerance range so that it does not extend outside of the primary unit’s tolerance range.  To use this capability, goto Tools > Options > Document Properties > Dimensions and click on Tolerance button. In the Tolerance dialog, check the option Inward rounding of secondary unit tolerance extents