Do we care about the textual length of these numbers?  toExponential will often be larger than toString, e.g. for Math.PI.  Also, wouldn't `1.2e2` still be considered an int?  Don't you want to instead use like a `F` or `D` suffix on the literals like in most languages?  I don't know GLSL.