It would be handy to have an engineering_notation function. Engineering notation is a version of scientific notation in which the powers of ten must be multiples of three. A few examples: 0.0001 should be converted to 100*10^6, 47000E-12 should be converted to 47*10^-9, 120000 should be converted to 120*10^3. Volker van Nek wrote some code which achieves this for single arguments but it would be better if it would also work for a list of arguments, just the same way as when you use float(x) and x consists of multiple arguments.
Here is Volker's code:
s : printf(false, "~e", f),
e : parse_string(substring(s, 1 + ssearch("E", s))),
e : e - mod(e,3),
s : ssubst(string(e), "#", "~,,,#h"),
ssubst("e", "b", printf(false, s, f)) )$