Numbers are formatted as floating point numbers, which looks
a bit crap for things like e.g. serial numbers (we don't need
mantissa and exponent). This change checks the scaling factor,
and if it is integer representable, the resulting number is
formatted as an integer number as that's most likely what's
intended, particularly if the factor is 1.