How to convert char to number?
6 views (last 30 days)
Show older comments
Sandy
on 10 Jun 2016
Commented: Azzi Abdelmalek
on 10 Jun 2016
I have a data set that I am trying to format as follows:
month = data (:, 2); % (2276x1)
month =sprintf('%02d\n',month)
The problem is this gives me:
Name Size Bytes Class
month 1x6828 13656 char
I need it to be a single column of NUMBER data (2276x1) in the format I specified. I tried using str2num but this makes my data lose the formatting I want.
Please help and thank you!
5 Comments
Azzi Abdelmalek
on 10 Jun 2016
When you write:
a=05
This number will be displayed as 5. The only way to display it with padded 0 is to use a string.
sprintf('%02d',5)
Image Analyst
on 10 Jun 2016
Don't use month as a variable name because it's a built-in function. What does data represent, and especially column 2 of data? Why is month 2276 characters long? The month names I know of are less than 10 characters, like September.
Accepted Answer
Azzi Abdelmalek
on 10 Jun 2016
Edited: Azzi Abdelmalek
on 10 Jun 2016
B=sprintf('%02d\n',A)
sprintf is used to display your data A in a format of your choice, your data are converted to string B. Your data are still in your original array A. Why do you want to convert B ?
For example, if you have a number 5, if you want to display it as 05 you need to convert it to a string '05'.
4 Comments
Azzi Abdelmalek
on 10 Jun 2016
If you want to save your data as double, just save your original array. nobody will see it!
More Answers (0)
See Also
Categories
Find more on Data Type Conversion in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!