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: 4,237

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

Posted in reply to sivaram_veerabagu

if int(TOTAL_SUM) ^= TOTAL_SUM then

   TOTAL_SUM = TOTAL_SUM*100;

View solution in original post


All Replies
SAS Super FREQ
Posts: 4,237

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

Posted in reply to sivaram_veerabagu

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?

Super User
Posts: 23,663

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

Posted in reply to sivaram_veerabagu

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: 4,237

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

Posted in reply to sivaram_veerabagu

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

Posted in reply to sivaram_veerabagu

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

Posted in reply to sivaram_veerabagu

Thanks Rick

Frequent Contributor
Posts: 76

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

Posted in reply to sivaram_veerabagu

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 and locked.

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

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