MATLAB Answers

char to double data type

1 view (last 30 days)
Waqas Siddique
Waqas Siddique on 24 Oct 2020
Edited: dpb on 25 Oct 2020
How do I convert the following
164x11 char=
'03-Jan-2018'
'07-Jan-2018'
'07-Jan-2018'..
to 164x11 double=
'03-Jan-2018'
'07-Jan-2018'
'07-Jan-2018'
I want the elements to remain the same and just change the data type

  2 Comments

Ameer Hamza
Ameer Hamza on 24 Oct 2020
No, it is not possible. And why do you want to do that?
Waqas Siddique
Waqas Siddique on 24 Oct 2020
I have 4 variables
a=164x11 double
b=164x11 double
c=164x11 double
d=164x11 char
I am using the command to display
e=[a,b,c,d]
so I get an error
Error using datetime/horzcat (line 1335)
All inputs must be datetimes or date/time character vectors or date/time strings.

Sign in to comment.

Answers (2)

dpb
dpb on 24 Oct 2020
Deprecated (and not recommended) would be
dn=datenum(yourdatechararray,'dd-mmm-yyyy');
which, of course, returns the datenum associated with the date; to get the representation use datestr. But, dn is a double.
The present (and recommended) way to handle dates is to use datetime instead --
dt=datetime(yourdatechararray,'InputFormat','dd-MMM-yyyy');
NB: the input format string representations are NOT the same between the two.
dt is its own class of datetime array, not a double. But, one can do comparisons of equality, greater/less than, etc., as well as plot and such have been extended to recognize the class as inputs.

  4 Comments

Show 1 older comment
Waqas Siddique
Waqas Siddique on 24 Oct 2020
e=
1 1 1 737063
2 2 2 737067
3 3 3 737067
Right now I am getting this
Walter Roberson
Walter Roberson on 24 Oct 2020
fprintf() or compose() -- you will probably find compose() easier.
dpb
dpb on 24 Oct 2020
Or, depending upon what you mean, exactly, by "display", put them in a table and the ML table data display will handle automagically...
ADDENDUM:
Oh, I see Steven L already suggested via timetable..."great minds ..." :)

Sign in to comment.


Steven Lord
Steven Lord on 24 Oct 2020
I recommend turning the character data representing dates into a datetime array and using that datetime array along with your double data to create a timetable.

  0 Comments

Sign in to comment.

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by