The scale factor can be used to introduce a scaling by any power of 10 between internal and external values when E, F, or G descriptors are used. In principle this could be useful when dealing with data which are too large, or too small, for the exponent range of the floating-point data types of the machine, but in other difficulties usually make this impracticable. The scale factor can result in particularly insidious errors when used with F descriptors and should be avoided by all sensible programmers. The rules are as follows.
The initial scale factor in each formatted transfer is zero. It the
descriptor kP is used, where k is a small (optionally signed)
integer, then it is set to k. It affects all subsequent floating
values transferred by the statement. On input there is no effect if
the input field contains an explicit exponent, otherwise