To work with numbers with a very large number of significant digits (as in 5.039220013916026846870204011588e+395) you need to use Fortran or some other application that allows arbitrarily large numbers. SAS, in common with most applications such as MS Excel, uses the operating system's floating point number storage mechanism which in the case of Windows and Unix allows a maximum of 8 bytes, some of which are used for the sign and the exponent. In practice this allows for 15 digits accuracy (16 for integers provided the initial digit is not 9). zOS allows another digit or so because it uses fewer bits for the exponent. Oracle (apparently) allows 12 bytes to floating point numbers which allows 23 digits accuracy. You can treat these numbers as character strings, compute the length to determine the exponent, substring the first n characters for the numerical result, and insert a decimal to make it look like the result you want. But you cannot use the result in calculations in SAS. In the format you specify you cannot even import the data in exponential format because the total width of the informat is limited to 32 characters which includes the exponent, decimal point, signs, and 'e'. In practical terms it is hard to see where a precision of even 32 digits would be required. Richard
... View more