SAS Function to check whether the field value is decimal or numeric

Accepted Solution Solved
Reply
Occasional Contributor
Posts: 19
Accepted Solution

SAS Function to check whether the field value is decimal or numeric

Hi,

Is there a SAS fucntion to check whether the field value is numeric or decimal. Please anyone can advise?

Regards,

Siva


Accepted Solutions
Solution
‎08-18-2015 11:35 AM
SAS Super FREQ
Posts: 3,406

Re: SAS Function to check whether the field value is decimal or numeric

if int(TOTAL_SUM) ^= TOTAL_SUM then

   TOTAL_SUM = TOTAL_SUM*100;

View solution in original post


All Replies
SAS Super FREQ
Posts: 3,406

Re: SAS Function to check whether the field value is decimal or numeric

Can you explain more and give an example? Do you mean integer values versus having a decimal part?

If so, you can test whether int(x)=x.

Occasional Contributor
Posts: 19

Re: SAS Function to check whether the field value is decimal or numeric

Hi Rick,

For e.g If I have the values for the column in the dataset as follows.

TOTAL_SUM

156

134.67

147

190.00

I need to find if the value of TOTAL_SUM is decimal then I have to do some manipulation based on that?

Grand Advisor
Posts: 17,333

Re: SAS Function to check whether the field value is decimal or numeric

What is your definition of decimal? What manipulation do you need to do? What do you want your output to look like?

Occasional Contributor
Posts: 19

Re: SAS Function to check whether the field value is decimal or numeric

Hi Reeza,

For e.g If have a decimal point(.) in the value then I would like to multiply only those value with 100.

Regards,

Siva

Solution
‎08-18-2015 11:35 AM
SAS Super FREQ
Posts: 3,406

Re: SAS Function to check whether the field value is decimal or numeric

if int(TOTAL_SUM) ^= TOTAL_SUM then

   TOTAL_SUM = TOTAL_SUM*100;

Occasional Contributor
Posts: 19

Re: SAS Function to check whether the field value is decimal or numeric

Hi Reeza,

For e.g the following decimal values have to be multiplied by 100.

134.67 -> 134.67 *100 -> 13467


Regards,

Siva

Occasional Contributor
Posts: 19

Re: SAS Function to check whether the field value is decimal or numeric

Thanks Rick

Contributor
Posts: 65

Re: SAS Function to check whether the field value is decimal or numeric

Irrespective of the number of decimal places,if you want to multiply the number with 100 then you can use the following code.

data Want;

input Total_Sum;

if scan(Total_Sum,2,'.') ne " " then Total_Sum=Total_Sum*100;

cards;

156

134.67

147

190.00

;

If there is condition on which the number should be multiplied basing on the number of decimal places(i.e multiply with 100 if the value has two decimal places and 10 for 1 decimal place ....) then you can use the following code

data Want;

input Total_Sum;

if lengthn(scan(Total_Sum,2,'.')) ge 2 then Total_Sum=Total_Sum*100;

if lengthn(scan(Total_Sum,2,'.')) eq 1 then Total_Sum=Total_Sum*10;

cards;

156

156.1

134.67

147

190.00

;

☑ This topic is SOLVED.

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

Discussion stats
  • 8 replies
  • 1193 views
  • 1 like
  • 4 in conversation