How to convert char to number?

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
Edited: Azzi Abdelmalek on 10 Jun 2016
Can you post a sample of your data?
The original input is a 2276x1 double that looks like:
9
10
10
2
I basically want it to remain a 'double type' except padded with zeros in the front.
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)
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
Edited: Sandy on 10 Jun 2016
I want to save the new formatted data (B) as a double. Right now it is in char format.
Azzi Abdelmalek
Azzi Abdelmalek on 10 Jun 2016
Edited: Azzi Abdelmalek on 10 Jun 2016
There is a difference between the content of an array, and how you want to display it. The number 5 is 5, and can't be otherwise, but you can decide to display it as 05 or 005 or whatever you want
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.
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

Community Treasure Hunt

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

Start Hunting!