## how to get percentage as 99.9

Solved
Frequent Contributor
Posts: 93

# how to get percentage as 99.9

When I'm using format as 5.1 or 6.1 on z variable , I'm getting 100 percentage in z variable. I need it 99.9 as required output .please someone suggest on it...

data _null_;
x = 2202;
y= 2203;
z=x/y*100;
z1 = put(z,5.1);
put x y z z1= ;
run;

Accepted Solutions
Solution
‎03-11-2018 11:30 AM
SAS Super FREQ
Posts: 9,424

## Re: how to get percentage as 99.9

Posted in reply to rajeshalwayswel

Hi:

A picture format will not round the number. Here's some code to test, a slightly different version of your code.

``````proc format;
picture pctnr low-high='099.9';
run;

data nums;
length z2 \$5;
x = 2202;
y= 2203;
z=x/y*100;
z1=z;
z2 = put(z,pctnr.);
put x= y= z= z1= z2=;
run;

proc print data=nums label;
var x y z z1 z2;
label z='z uses sas format'
z1='z1 uses picture custom format'
z2='z2 is char var using picture format';
format z 5.1 z1 pctnr.;
run;
``````

Cynthia

All Replies
Solution
‎03-11-2018 11:30 AM
SAS Super FREQ
Posts: 9,424

## Re: how to get percentage as 99.9

Posted in reply to rajeshalwayswel

Hi:

A picture format will not round the number. Here's some code to test, a slightly different version of your code.

``````proc format;
picture pctnr low-high='099.9';
run;

data nums;
length z2 \$5;
x = 2202;
y= 2203;
z=x/y*100;
z1=z;
z2 = put(z,pctnr.);
put x= y= z= z1= z2=;
run;

proc print data=nums label;
var x y z z1 z2;
label z='z uses sas format'
z1='z1 uses picture custom format'
z2='z2 is char var using picture format';
format z 5.1 z1 pctnr.;
run;
``````

Cynthia

Super User
Posts: 10,534

## Re: how to get percentage as 99.9

Posted in reply to rajeshalwayswel

Be advised that 99.9 will be mathematically wrong, as 99.954607354 must be rounded up (per definition) if only 1 fractional digit can be displayed.

The more correct method would be to use a 5.2 format in the put() function.

---------------------------------------------------------------------------------------------
Maxims of Maximally Efficient SAS Programmers
How to convert datasets to data steps
How to post code
☑ This topic is solved.

Need further help from the community? Please ask a new question.

Discussion stats
• 2 replies
• 123 views
• 4 likes
• 3 in conversation