How to convert char to number?
    5 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!

