Maybe we can just format as a float, no? something like ``dup ratio? [ >float number>string write ] when``?  Might not always produce the same output string as input string, but simpler?  Or maybe we can make a simple ``ratio>decimal-string``?