BookmarkSubscribeRSS Feed
🔒 This topic is solved and locked. Need further help from the community? Please sign in and ask a new question.
carmendee
Obsidian | Level 7

In need to round down to the nearest whole number or simply strip everything to the right of the decimal in a numeric field.  Example:

have need
1.2 1
0.1 0
10 10
1 ACCEPTED SOLUTION

Accepted Solutions
mohamed_zaki
Barite | Level 11

Use the FLOOR function to round down to the next integer.

 

data a;
  input have;
  need=floor(have);
datalines;
1.2
0.1
10 123.456 34 5.1111 7.68 10.98 -3.1 -19.0 -4.8 ; proc print; run;

 

View solution in original post

2 REPLIES 2
mohamed_zaki
Barite | Level 11

Use the FLOOR function to round down to the next integer.

 

data a;
  input have;
  need=floor(have);
datalines;
1.2
0.1
10 123.456 34 5.1111 7.68 10.98 -3.1 -19.0 -4.8 ; proc print; run;

 

advoss
Quartz | Level 8

Remember that the floor function gives you the next lower number, so 3.1 yields 3 and -3.1 yields -4.  The int function will give you 3 and -3 respectively.  So, choose the one that meets your specific needs.

hackathon24-white-horiz.png

The 2025 SAS Hackathon has begun!

It's finally time to hack! Remember to visit the SAS Hacker's Hub regularly for news and updates.

Latest Updates

Creating Custom Steps in SAS Studio

Check out this tutorial series to learn how to build your own steps in SAS Studio.

Find more tutorials on the SAS Users YouTube channel.

SAS Training: Just a Click Away

 Ready to level-up your skills? Choose your own adventure.

Browse our catalog!

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