This is a result of a longer journey of changing back and forth of the behaviour of the String (double, numDecimalPlaces) constructor, as I understand it.
It started with this feature request:
and concluded in the behaviour being changed a few times, until it was thought all parties are happy:
Seems to be difficult to create a coherent solution with full backward compatibility. It probably needs to be deliberately broken, so every user has to choose the behaviour that suits his use case.