What's the correct way to round, or estimate, a number to a specified precision?
Starting with wikipedia:
Rounding a number twice in succession to different precisions, with the latter precision being coarser, is not guaranteed to give the same result as rounding once to the final precision except in the case of directed rounding. For instance rounding 9.46 to one decimal gives 9.5, and then 10 when rounding to integer using rounding half to even, but would give 9 when rounded to integer directly.
http://en.wikipedia.org/wiki/Rounding#Double_rounding
That just makes no sense to me. What's the justification for different results? If 9.46 rounds to 9.5 why doesn't it then round to 10?
edit
I didn't ask the question correctly. The question, I think and hope I mean to ask, is why, or how, perhaps, double rounding and regular rounding can give different results (using half to even), and I suppose the answer is that there are different rounding algorithms which give different results.
I was thinking there should be one, correct answer as to what 9.46 rounded to the nearest integer rounds to. Double rounding, apparently, gives ten while "regular" rounding gives 9. Guess it just seems odd or weird to me to not double round.
Another approach is to think of "rounded numbers" as a different sort of object than real numbers. So $9.5(1\text{dp})$ is not the same as $9.5$, it's not quite a number at all.
On this understanding, the rules for rounding off "rounded numbers" have a hole in them. If $x = 9.4 (1\text{dp})$ then $x = 9 (\text{nearest int.})$. If $x =9.6 (1\text{dp})$ then $x = 10 (\text{nearest int.})$. But if $x = 9.5 (1\text{dp})$, then we can't know whether whatever real number $x$ is would be closer to $9$ or to $10$, so the nearest integer to $x$ is undefined. Double rounding isn't always allowed.
Using set notation, we would define $9.5(1\text{dp}) := \{y \in \mathbb{R}: 9.45 \leq y < 9.55\}$. Conventionally, $\mathbb{R}$ means the set of real, unrounded numbers.
Then in the formula $9.46 = 9.5(1\text{dp})$ the equals sign is actually standing in for set membership $\in$. The rules for arithmetic with "rounded numbers" are just that a formula is true exactly if it would be true for every real number in the set. So sometimes we get undefined results.
For example $2 \times 9.46(2\text{dp}) = 18.9(1\text{dp})$, but $2 \times 9.46(2\text{dp})$ is undefined to 2 d.p., because depending on what the real number chosen from the set was, we might get either $18.92 (2\text{dp})$ or $18.93 (2\text{dp})$. This is why in practical calculations you always need to measure, where possible, to more digits of precision than you need in your answer.