i need to convert a string to a num without using the "str2num" function but in the final answer i have some undesired spaces. how can i remove them?

2 visualizaciones (últimos 30 días)
st = '23487';
x = double(st);
y = x-48;
y = 2 3 4 8 7
i want this in "normal" format of "23487"...
  2 comentarios
Image Analyst
Image Analyst el 24 de Nov. de 2012
Editada: Image Analyst el 24 de Nov. de 2012
Is this a Homework question? If so, we'll give hints, but not the answer.
Matt Fig
Matt Fig el 24 de Nov. de 2012
Editada: Matt Fig el 24 de Nov. de 2012
^Or so one would hope...
Here is how to do it without the str2num function:
N = str2double('1234')

Iniciar sesión para comentar.

Respuesta aceptada

Azzi Abdelmalek
Azzi Abdelmalek el 24 de Nov. de 2012
Editada: Azzi Abdelmalek el 24 de Nov. de 2012
st = '14523'
x = double(st)
y = sum((x-48).*10.^(numel(st)-1:-1:0))
  1 comentario
Zaza
Zaza el 24 de Nov. de 2012
of course! represent '23487' as 2*10^4+3*10^3+4*10^2+8*10^1+7*10^0... i should've think better on this one. thanks Azzi :)

Iniciar sesión para comentar.

Más respuestas (1)

Andrei Bobrov
Andrei Bobrov el 24 de Nov. de 2012
Editada: Andrei Bobrov el 26 de Nov. de 2012
out = (st-'0')*10.^(numel(st)-1:-1:0)';
or from Cody
out = polyval(st-'0',10);

Categorías

Más información sobre Data Type Conversion en Help Center y File Exchange.

Etiquetas

Productos

Community Treasure Hunt

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

Start Hunting!

Translated by