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

Solved
Occasional Contributor
Posts: 19

# 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

if int(TOTAL_SUM) ^= TOTAL_SUM then

TOTAL_SUM = TOTAL_SUM*100;

All Replies
SAS Super FREQ
Posts: 4,237

## 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?

Super User
Posts: 23,663

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

## 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

Frequent Contributor
Posts: 76

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