Formatting only changes the appearance of a cell, not it's underlying contents. If you have a text number in a cell, formatting will not change that.
However, multiplying a text number by 1 (or 1.25) should fix that.
Try this for me. In an open cell, type in
=ISNUMBR(D456)...should give FALSE
In another cell, type in =LEN(D456)