By the way, here is a non-elegant workaround. This solution essentially duplicates the work of NumberForm. After looking at some of the codes generated by CloudDeploy, I see that the 'processor' strips out all formatting wrappers, no matter how hard I try to keep them in. :-) So here is a workaround below. I'd be interested in someone else's more elegant solution.
formatFunction[value : _] :=
Module[
{mantissaExponent, mantissa, exponent, numericalValue = N[value]},
CompoundExpression[
mantissaExponent = MantissaExponent[numericalValue],
mantissa = 10 First@mantissaExponent,
exponent = Last@mantissaExponent - 1,
Which[
(*if*)
-4 <= exponent <= 4,
ToString@numericalValue,
(*else*)
True,
ToString[Row[{mantissa, " \[Times] 10^", exponent}]]
]
]
]
Followed by deploying:
CloudDeploy[FormFunction["x" -> "Number", formatFunction[#x] &]]
An additional nice format that uses superscripts instead of "E" notation can be obtained within many FormPage[ ] results by using the HTML mixed expression below in place of the corresponding line in the function above:
ToString[Row[{mantissa, " \[Times] 10<sup>", exponent, "</sup>"}]]