Help using Base SAS procedures

converting char to num not working

Accepted Solution Solved
Reply
Occasional Contributor
Posts: 13
Accepted Solution

converting char to num not working

Hi -

Please forgive this newbie question.  I have looked online extensively and have not been able to solve it. 

I have a variable, 'time', that contains timestamps that look like this:

0:00:01

0:00:16

15:53:46

This variable is currently in character format ($8).  I have tried the recommended tricks to convert it to numeric. Here are some examples of what I have tried: 

data file1; set file;

infile ".........";

input time $8;

fmttime=input(time,8.);

run;

data file1; set file;

fmttime=time * 1;

run;

data file1; set file;

fmttime=put(time,12.);

run;

None of these are working. How would others go about doing this conversion?

Thank you!


Accepted Solutions
Solution
‎08-19-2014 12:58 PM
Super User
Posts: 11,343

Re: converting char to num not working

Try

fmttime = input(time, time8.);

This will create a time value that can be manipulated with the time functions such as INTNX or INTCK and a format of time8. would display as a time value.

Your attempts failed because the f8. format can't handle :

the multiple failed because it can't handle : either.

View solution in original post


All Replies
Solution
‎08-19-2014 12:58 PM
Super User
Posts: 11,343

Re: converting char to num not working

Try

fmttime = input(time, time8.);

This will create a time value that can be manipulated with the time functions such as INTNX or INTCK and a format of time8. would display as a time value.

Your attempts failed because the f8. format can't handle :

the multiple failed because it can't handle : either.

🔒 This topic is solved and locked.

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

Discussion stats
  • 1 reply
  • 187 views
  • 0 likes
  • 2 in conversation