## Error: At least one W.D format was too small for the number to be printed.

Solved
Regular Contributor
Posts: 214

# Error: At least one W.D format was too small for the number to be printed.

[ Edited ]

Hi all,

``NOTE: At least one W.D format was too small for the number to be printed. The decimal may be shifted by the "BEST" format.``

How to define what is the format that is 'smal'. I have here at least 10.

Accepted Solutions
Solution
‎02-09-2018 05:09 AM
Super User
Posts: 13,913

## Re: Error: At least one W.D format was too small for the number to be printed.

[ Edited ]

1) NOT an error

Check the values of your numeric variables for those less than 0.001 or 0.0001 (for the 8.4). I would guess that a StdDev is a likely culprit. Or sqrt(exp(LN_QVAL_StdDev**2)-1))*100

proc means data=table3 min;

var _numeric_;

run;

might give you a starting point.

Or print your output and find the results with more leading zeroes such as  0.0000123

And why are you assigning a format of \$200 for variables that should only have 8 characters length with the put function?

You can avoid all those Strip calls if you use put(variable,8.3 -L) to left align the output.

All Replies
Super User
Posts: 23,980

## Re: Error: At least one W.D format was too small for the number to be printed.

Comment out half your code and run it. If the error persists, its in the half not commented out.
Rinse and repeat.

Super User
Posts: 6,921

## Re: Error: At least one W.D format was too small for the number to be printed.

There are only 68 observations.  Print out the ???_C variables and look for values that look funny.

Solution
‎02-09-2018 05:09 AM
Super User
Posts: 13,913

## Re: Error: At least one W.D format was too small for the number to be printed.

[ Edited ]

1) NOT an error

Check the values of your numeric variables for those less than 0.001 or 0.0001 (for the 8.4). I would guess that a StdDev is a likely culprit. Or sqrt(exp(LN_QVAL_StdDev**2)-1))*100

proc means data=table3 min;

var _numeric_;

run;

might give you a starting point.

Or print your output and find the results with more leading zeroes such as  0.0000123

And why are you assigning a format of \$200 for variables that should only have 8 characters length with the put function?

You can avoid all those Strip calls if you use put(variable,8.3 -L) to left align the output.

☑ This topic is solved.