There's a rounding ghost here. I haven't looked into exactly why this is rounding up with a following 5 but it's inconsistent with the behaviour of string() etc.
Not that truncating like this is a great idea anyway. I'm not sure I care enough to resolve this but it's worth pointing out.