it looks like truncation is a pretty natural form of rounding.
When you truncate after (say) the units digit, the error is a sum of +- 3^-n, whose absolute value is at most 1⁄3 +1/9 + 1⁄27 + … = 1⁄2. Therefore, truncation equals round-to-nearest with the sole exception that if it happens that the digits after you truncate are either an infinite stream of ‘+’ or an infinite stream of ‘-’ then there was another equally-near way you could have rounded, which you might have preferred for one reason or another.
Does this rounding rule introduce any bias, as e.g. rounding halves consistently up or consistently down does in decimal arithmetic? Well, it seems like there’s symmetry between the two representations of 1⁄2 -- 0.+++++… (which gets rounded down) and +.-------… (which gets rounded up) -- and unlike the situation in decimal you don’t have one getting preferred because an expansion ending in all-0 is representable and one ending in all-9 isn’t.
So yeah, I think it’s fair to say that truncation = rounding and that exact halves are handled nicely. On the other hand, exact halves have two representations that round in different ways, whereas e.g. in binary at least 0.0111… and 0.1000… both round to 0.1. (I think there’s no way to make all these niggles go away together in any number system; there’s a certain ambiguity about halves however you write them, and the only question is exactly how it manifests.)
When you truncate after (say) the units digit, the error is a sum of +- 3^-n, whose absolute value is at most 1⁄3 +1/9 + 1⁄27 + … = 1⁄2. Therefore, truncation equals round-to-nearest with the sole exception that if it happens that the digits after you truncate are either an infinite stream of ‘+’ or an infinite stream of ‘-’ then there was another equally-near way you could have rounded, which you might have preferred for one reason or another.
Does this rounding rule introduce any bias, as e.g. rounding halves consistently up or consistently down does in decimal arithmetic? Well, it seems like there’s symmetry between the two representations of 1⁄2 -- 0.+++++… (which gets rounded down) and +.-------… (which gets rounded up) -- and unlike the situation in decimal you don’t have one getting preferred because an expansion ending in all-0 is representable and one ending in all-9 isn’t.
So yeah, I think it’s fair to say that truncation = rounding and that exact halves are handled nicely. On the other hand, exact halves have two representations that round in different ways, whereas e.g. in binary at least 0.0111… and 0.1000… both round to 0.1. (I think there’s no way to make all these niggles go away together in any number system; there’s a certain ambiguity about halves however you write them, and the only question is exactly how it manifests.)