How to convert char to number?

19 views (last 30 days)
Sandy
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
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
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.

Sign in to comment.

Accepted Answer

Azzi Abdelmalek
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
Sandy
Sandy on 10 Jun 2016
Is there a way to save what is shown in the display? For example, if my numbers are 5, 6, 7, I'd like to export a text file with 05, 06, 07.
Azzi Abdelmalek
Azzi Abdelmalek on 10 Jun 2016
If you want to save your data as double, just save your original array. nobody will see it!

Sign in to comment.

More Answers (0)

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!