DATA Step, Macro, Functions and more

How to convert numeric variable to character which contains decimals

Reply
Super Contributor
Posts: 272

How to convert numeric variable to character which contains decimals

Dear,

 

I have a numeric variable 'Time'containing some numbers with decimals. I need to convert the variable to chracter form. I am not getting the output i need with my codes shown below. Please help

 

Time

0

0.5

1

1.5

2

2.5

My code;

PKT=put(Time__h_,8.1);

if  PKT='0' then PKT1='PRE-DOSE';

my code generates output;

PKT1

 

0.0

0.5

1.0

1.5

2.0

2.5

 

OUTPUT i need;

PKT1

 

PRE-DOSE

0.5

1

1.5

2

2.5

 

My another code:

PKT=put(Time__h_,8.);

if  PKT='0' then PKT1='PRE-DOSE';

Output generated;

PKT1

 

0

1

1

2

2

3

 

Super Contributor
Posts: 490

Re: How to convert numeric variable to character which contains decimals

Posted in reply to knveraraju91
data want;
set have;
if Time eq 0 then charvar ='PRE-DOSE';
else charvar = STRIP(PUT(TIME, best32.));
run;
Respected Advisor
Posts: 4,930

Re: How to convert numeric variable to character which contains decimals

Posted in reply to knveraraju91

Use format best. and left align option in PUT function.

 

data have;
input Time;
datalines;
0
0.5
1
1.5
2
2.5
;

data want;
set have;
if Time = 0 then PKT = "PRE-DOSE";
else PKT = put(Time, best. -l);
run;

proc print; run;
PG
Ask a Question
Discussion stats
  • 2 replies
  • 241 views
  • 2 likes
  • 3 in conversation