Select specific digits of a number
Show older comments
How can I select specific parts of a number?
For example if we have x=953, I want to select specifically the first digit (or the last two) and save it in another variable, so the outcome would be y=9 (or y=53)
Thanks
Accepted Answer
More Answers (3)
Azzi Abdelmalek
on 24 Jan 2013
x=953
y=num2str(x)
out=str2num(y(1))
5 Comments
Bilal Almulaabd
on 4 Apr 2018
Thank you so much.
ushara Duldeniya vidanage
on 13 May 2020
holyyyy u saved me
Rafael Rodríguez
on 30 Apr 2021
thanks!
Siddh
on 14 Apr 2025
You are my savior
Monib
on 18 Apr 2026 at 21:38
Mashkoor!
Thorsten
on 24 Jan 2013
x = 953;
s = num2str(x);
y1 = sscanf(s(1), '%d')
y2 = sscanf(s(2:end), '%d')
c = 123.45
for d = [0.01 0.1 1 10 100]
round( (mod(c,10*d)-mod(c,d))/d )
end
[round() is needed because of binary precision]
1 Comment
Note that this fails if the original number is negative. You need to work with abs() of the number.
c = -123.45
for d = [0.01 0.1 1 10 100]
round( (mod(c,10*d)-mod(c,d))/d )
end
Categories
Find more on Matrix Indexing in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!