Rounding sounds like one operation but is several, and they disagree exactly at the halfway point. Half-up sends 2.5 to 3 and is what most people are taught. Half-even — banker's rounding — sends 2.5 to 2 and 3.5 to 4, always landing on the even neighbour. Over many values that removes the upward drift half-up introduces, which is why accounting and statistical software default to it.
The other two rules ignore the halfway point entirely. Floor always goes down and ceiling always goes up, which matters when the quantity is indivisible: you cannot order 3.2 minibuses. This page applies all four to the same input so the disagreement is visible, and reports the error each one introduces. Note that a rounded figure carries an implied precision, so 3.0 and 3.00 are claims about different levels of certainty.
The formula
x- The number being rounded
d- Decimal places; use negative values for tens, hundreds and beyond
half-up- Ties go away from zero, so 2.5 becomes 3
half-even- Ties go to the even neighbour, so 2.5 becomes 2
How it works, step by step
- Enter the number you want to round.
- Choose how many decimal places; negative numbers round to tens, hundreds and so on.
- The gauge shows the half-up result, which is the everyday rule.
- Compare the other three rules below when the value sits on a halfway point.
Worked examples
Rounding 2.675 to two places
Half-up gives 2.67 on paper, but in binary floating point 2.675 is stored as slightly less than that, so many languages return 2.67. The exact stored value is 2.67499999999999982236, which is the whole explanation for a bug people meet often.
Where the two half-rules diverge
To whole numbers, 2.5 rounds half-up to 3 but half-even to 2; 3.5 goes to 4 under both. Across the values 0.5 to 4.5 the half-up total is 15 while half-even gives 12, showing the upward bias half-up carries.
How to read your score
Frequently asked questions
What is banker's rounding for?
It removes the systematic upward bias of always rounding halves up. Sending ties to the even neighbour splits them evenly between up and down, so long columns of figures do not creep. It is the IEEE 754 default and what Python's round and most spreadsheets use internally.
Why does 2.675 sometimes round to 2.67?
Because 2.675 cannot be represented exactly in binary. What is stored is a hair below 2.675, so a correct rounding routine takes it down. Working in integer pence or using a decimal type avoids the problem.
How do I round to the nearest ten or hundred?
Use a negative number of decimal places. Minus one is tens, minus two is hundreds. The formula is the same; only the power of ten changes.
Should I round at each step of a calculation?
No. Round once at the end. Rounding intermediate values lets the errors accumulate, and in a long chain that can move the final figure by more than the last digit you kept.
The four rules compared
| Value | Half-up | Half-even | Floor | Ceiling |
|---|---|---|---|---|
| 0.5 | 1 | 0 | 0 | 1 |
| 1.5 | 2 | 2 | 1 | 2 |
| 2.5 | 3 | 2 | 2 | 3 |
| 3.5 | 4 | 4 | 3 | 4 |
| 2.4 | 2 | 2 | 2 | 3 |
| 2.6 | 3 | 3 | 2 | 3 |
| -2.5 | -3 | -2 | -3 | -2 |
The two half-rules agree except exactly at the halfway point, which is where the choice of rule matters.