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?

st = '23487';
x = double(st);
y = x-48;
y = 2 3 4 8 7
i want this in "normal" format of "23487"...

2 Comments

Is this a Homework question? If so, we'll give hints, but not the answer.
^Or so one would hope...
Here is how to do it without the str2num function:
N = str2double('1234')

Sign in to comment.

 Accepted Answer

st = '14523'
x = double(st)
y = sum((x-48).*10.^(numel(st)-1:-1:0))

1 Comment

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 :)

Sign in to comment.

More Answers (1)

out = (st-'0')*10.^(numel(st)-1:-1:0)';
or from Cody
out = polyval(st-'0',10);

Categories

Find more on MATLAB in Help Center and File Exchange

Products

Tags

Community Treasure Hunt

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

Start Hunting!