So this fails for % values? Again, I think the other bits that deal with this could be reused here, assuming they actually exist.