Hi,
Is there a SAS fucntion to check whether the field value is numeric or decimal. Please anyone can advise?
Regards,
Siva
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.
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?
What is your definition of decimal? What manipulation do you need to do? What do you want your output to look like?
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
if int(TOTAL_SUM) ^= TOTAL_SUM then
TOTAL_SUM = TOTAL_SUM*100;
Hi Reeza,
For e.g the following decimal values have to be multiplied by 100.
134.67 -> 134.67 *100 -> 13467
Regards,
Siva
Thanks Rick
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
;
SAS Innovate 2025 is scheduled for May 6-9 in Orlando, FL. Sign up to be first to learn about the agenda and registration!
Learn how use the CAT functions in SAS to join values from multiple variables into a single value.
Find more tutorials on the SAS Users YouTube channel.
Ready to level-up your skills? Choose your own adventure.