If you do that though aren't you just reinventing floating-point?
No, because you're doing decimal floating point, which eliminates the rounding errors of binary floating point.