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

23 views (last 30 days)
Anushka
Anushka on 11 Jul 2015
Edited: Stephen23 on 11 Jul 2015
How to access each digit of a number in matlab?

Answers (2)

Stephen23
Stephen23 on 11 Jul 2015
Edited: Stephen23 on 12 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).

Tags

No tags entered yet.

Community Treasure Hunt

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

Start Hunting!