How to access each digit of a number in matlab without converting it into string?

8 views (last 30 days)
How to access each digit of a number in matlab?

Answers (2)

Stephen23
Stephen23 on 11 Jul 2015
Edited: Stephen23 on 11 Jul 2015
>> A = 54321;
>> rem(floor(A./(10.^(floor(log10(A)):-1:0))),10)
ans =
5 4 3 2 1
>> A = 918287465;
>> rem(floor(A./(10.^(floor(log10(A)):-1:0))),10)
ans =
9 1 8 2 8 7 4 6 5
But converting to a string first will be faster and simpler:
>> A = 918287465;
>> int2str(A)-'0'
ans =
9 1 8 2 8 7 4 6 5

Ashmil Mohammed
Ashmil Mohammed on 11 Jul 2015
You may use a foor loop and keep on dividing the number with 10.Use the remainder(modulo operator).

Categories

Find more on Numeric Types in Help Center and File Exchange

Tags

No tags entered yet.

Community Treasure Hunt

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

Start Hunting!