Rounding a number means to approximate it to a similar value that has a simpler representation.
Use of rounding[]
1. integers to the nearest n signifiant figures - if the detail is not very important
2. numbers with decimal places - again, if the detail is not important
3. radicals and square roots - they are usually irrational, so it will be ok to round them off to a few significant figures.
4. logarithms - if the results end in a never-ending decimal
Typical situations[]
1. Rounding off mathematical symbols such as e or pi to several decimal places
2. Changing a fractional amount to a value with denominator with a factor other than 2 or 5 like 4/9 = 0.444444
3. Making a fraction simpler by using a smaller numerator and denominator that does not necessary equal but are very close.
4. Changing an integer or a number with a decimal point to a number with less significant digits.
5. Replacing an integer to a round number, like 101 to 100.
6. Replacing several end digits to trailing zeroes like 54325423 to 54000000.
Rounding to a Specified increment[]
The most common type of rounding is to round to an integer; or, more generally, to an integer multiple of some increment — such as rounding to whole tenths of seconds, hundredths of a dollar, to whole multiples of 1/2 or 1/8 inch, to whole dozens or thousands, etc..
In general, rounding a number x to a multiple of some specified increment m entails the following steps:
- Divide x by m, let the result be y;
- Round y to an integer value, call it q;
- Multiply q by m to obtain the rounded value z.
For example, rounding x = 2.1784 dollars to whole cents (i.e., to a multiple of 0.01) entails computing y = x/m = 2.1784/0.01 = 217.84, then rounding y to the integer q = 218, and finally computing z = q×m = 218×0.01 = 2.18.
When rounding to a predetermined number of significant digits, the increment m depends on the magnitude of the number to be rounded (or of the rounded result).
The increment m is normally a finite fraction in whatever numeral system that is used to represent the numbers. For display to humans, that usually means the decimal numeral system(that is, m is an integer times a power of 10, like 1/1000 or 25/100). For intermediate values stored in digital computers, it often means the binary numeral system (m is an integer times a power of 2).
The abstract single-argument "round()" function that returns an integer from an arbitrary real value has at least a dozen distinct concrete definitions presented in the rounding to integer section. The abstract two-argument "round()" function is formally defined here, but in many cases it is used with the implicit value m = 1 for the increment and then reduces to the equivalent abstract single-argument function, with also the same dozen distinct concrete definitions.
Rounding off to an integer[]
The most basic form of rounding is to replace an arbitrary number by an integer. All the following rounding modes are concrete implementations of the abstract single-argument "round()" function presented and used in the previous sections.
There are many ways of rounding a number y to an integer q. The most common ones are
- round down (or take the floor, or round towards minus infinity): q is the largest integer that does not exceed y.
- round up (or take the ceiling, or round towards plus infinity): q is the smallest integer that is not less than y.
- round towards zero (or truncate, or round away from infinity): q is the integer part of y, without its fraction digits.
- round away from zero (or round towards infinity): if y is an integer, q is y; else q is the integer that is closest to 0 and is such that y is between 0 and q.
- round to nearest: q is the integer that is closest to y (see below for tie-breaking rules).
The first four methods are called directed rounding, as the displacements from the original number y to the rounded value q are all directed towards or away from the same limiting value (0, +∞, or −∞).
If y is positive, round-down is the same as round-towards-zero, and round-up is the same as round-away-from-zero. If y is negative, round-down is the same as round-away-from-zero, and round-up is the same as round-towards-zero. In any case, if y is integer, q is just y. The following table illustrates these rounding methods:
| y | round down (towards −∞) |
round up (towards +∞) |
round towards zero |
round away from zero |
round to nearest |
|---|---|---|---|---|---|
| +23.67 | +23 | +24 | +23 | +24 | +24 |
| +23.50 | +23 | +24 | +23 | +24 | +23 or +24 |
| +23.35 | +23 | +24 | +23 | +24 | +23 |
| +23.00 | +23 | +23 | +23 | +23 | +23 |
| 0 | 0 | 0 | 0 | 0 | 0 |
| −23.00 | −23 | −23 | −23 | −23 | −23 |
| −23.35 | −24 | −23 | −23 | −24 | −23 |
| −23.50 | −24 | −23 | −23 | −24 | −23 or −24 |
| −23.67 | −24 | −23 | −23 | −24 | −24 |
Where many calculations are done in sequence, the choice of rounding method can have a very significant effect on the result. A famous instance involved a new index set up by the Vancouver Stock Exchange in 1982. It was initially set at 1000.000, and after 22 months had fallen to about 520 — whereas stock prices had generally increased in the period. The problem was caused by the index being recalculated thousands of times daily, and always being rounded down to 3 decimal places, in such a way that the rounding errors accumulated. Recalculating with better rounding gave an index value of 1098.892 at the end of the same period.[1]