str2double('00010001') or str2num('00010001') gives output as 10001 by ignoring the MSB '000' bits how to retain them?

4 visualizaciones (últimos 30 días)
Hi, I have some filenames which start with '0**' something like that (00010001,00010002,...00010010 etc), When I use str2double on that filename string str2double('00010001') it outputs 10001 without considering the MSB bits. Is there anyway I can get the filename as '00010001'?
Thanks, Gopi
  2 comentarios
KSSV
KSSV el 14 de Mzo. de 2017
As it is a file name it's class will be char/ string. Why to use str2double?
Gopichandh Danala
Gopichandh Danala el 14 de Mzo. de 2017
The problem is lets say the filenames are '1','2','10' and I want to read them in order after reading files Matlab by default reads them in order of '1','10' and then '2'. Even if i use sort function it does the same. So I need to get all filenames ans sort them properly before reading them

Iniciar sesión para comentar.

Respuestas (1)

Akira Agata
Akira Agata el 14 de Mzo. de 2017
I think you want to generate a list of file names with serial number whose prefix is '0001'. If so, the following code will help. This generates the file name list from '00010001' with length of N.
N = 10;
list = strcat(repmat('0001',N,1),num2str((1:N)','%04d'));
  3 comentarios

Iniciar sesión para comentar.

Community Treasure Hunt

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

Start Hunting!

Translated by