specifies the width
of the output field in bytes (not digits).
Default:1
Range:1–16
d
specifies a scaling
factor. When you specify a d value, the PDw.d format multiplies the number by 10d, and then
applies the packed decimal format to that value.
Range:1–31
Details
The PDw.d format
writes double-precision numbers in packed decimal format. In packed
decimal data, each byte contains two digits. The w value represents the number of bytes, not the
number of digits. The value's sign is in the uppermost bit of the
first byte (although the entire first byte is used for the sign).
Examples
Example 1: Processing a Positive Number
If you format 1143.0
using the PD2. format, you receive the following value:
00 99
If you specify PD4.,
you receive the following value:
00 00 11 43
Example 2: Processing a Negative Number
If you format −1143.0
using the PD2. format, you receive the following value:
80 43
If you specify the PD4.
format, you receive the following value:
80 00 11 43
Example 3: Processing a Number That Is Too Large To Format
When a numeric value
is too large to format, as in this example
data a;
x = 1e308;
y = put(x, PD16.2);
put y = hex16.;
run;