DATA Step, Macro, Functions and more

Round value upto 8 decimal palces

Accepted Solution Solved
Reply
Contributor
Posts: 26
Accepted Solution

Round value upto 8 decimal palces

Hi,

  I am trying to round off the value upto its 8 decimal places I tried following functions and getting results against it but it is not as expect it to be

e.g. value 0.00932304

round function=0

ceil=1

floor=0

int=0

what shall I try so that I can get some result other than these?

I am trying it for column.

 

Thank You 


Accepted Solutions
Solution
‎10-25-2016 12:51 AM
Super User
Posts: 10,500

Re: Round value upto 8 decimal palces

You might also consider just associating an appropriate display format:

 

Proc print data=your data;

   var yourvariable;

   format yourvariable f16.8;

run.

 

will display the value rounded to 8 decimal places and does not require an additional pass through your data to modify the varible(s).

View solution in original post


All Replies
Super Contributor
Posts: 305

Re: Round value upto 8 decimal palces

Hello,

 

Could you post the code you've tried ?

 

This one works fine:

data want;
x=0.009323049;
y=round(x,.00000001);
run;
Contributor
Posts: 26

Re: Round value upto 8 decimal palces

thank you for your reply however I got the output
by using following function
Var_new= round(var, 10**-dp)
Contributor
Posts: 26

Re: Round value upto 8 decimal palces

yours also gives the same output
Solution
‎10-25-2016 12:51 AM
Super User
Posts: 10,500

Re: Round value upto 8 decimal palces

You might also consider just associating an appropriate display format:

 

Proc print data=your data;

   var yourvariable;

   format yourvariable f16.8;

run.

 

will display the value rounded to 8 decimal places and does not require an additional pass through your data to modify the varible(s).

Contributor
Posts: 26

Re: Round value upto 8 decimal palces

actually I would like make the process automated and Proc print will not work for me. but thank you very much for your reply and good news is I got the answer for that Var_new= round(var, 10**-dp)
Super User
Posts: 10,500

Re: Round value upto 8 decimal palces

ANY SAS Procedure will accept a format and you can permanently associate the format in either a data step or use Proc Datasets to modify the format for existing variables in existing data sets.

 

Proc Print was just an example of how to use in a procedure.

☑ This topic is SOLVED.

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

Discussion stats
  • 6 replies
  • 296 views
  • 2 likes
  • 3 in conversation