How do I reserve a size for my data so that zero's are not dropped or forgotten?
Info
This question is closed. Reopen it to edit or answer.
Show older comments
I am writing for determining what day of the week it is. I am using 'num2str' to create a string for my user 'year' entry and 'str2double' to recall the last two and first two digits separately. This method falls apart when I attempt to determine the day of the week when the year is very small. For example, 01/01/0003. Is there a way to store the zeros to make this work or do I have to write a lot of 'if' statements? If you know of another way besides the build in method, it would be appreciated.
5 Comments
themaze
on 11 Apr 2013
Can you explain the "fall apart"? What values are you getting and what did you expect to get?
PT
on 11 Apr 2013
When you type Y = 0003, you are actually setting Y to 3 of double precision number. When 3 is converted to string, it is '3' with a length of 1.
PT
on 11 Apr 2013
If you really want to reserve zeros in front of a number so it is always 4 characters long when converting to string, do
Yr = num2str(Y, '%04i');
Greg
on 11 Apr 2013
Answers (1)
PT
on 11 Apr 2013
Use
datevec(datenum('01/02/0003'))
The output will be in the form of
[ Year Month Day Hour Minute Second ]
This question is closed.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!