How is that indicative of bad code? That seems like a very big jump to make. If you're using PHP at the presentation layer you are probably doing a lot of this. Why would you write some sort of abstraction around number formatting when there is an abstract function to just do it for you?
This is particularly true if your applications are older and written before modern template systems made it a bit easier to abstract these concepts to filters and the like.
Just as you say older/pre-modern -- bad code or not, the same caveat applies about upgrading core language platforms. Even a strictly typed language with a much more standardized API like Java can be hard to upgrade major versions (where I would consider 5.3 a new major version).
This is particularly true if your applications are older and written before modern template systems made it a bit easier to abstract these concepts to filters and the like.