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

回答 (2 件)

Stephen23
Stephen23 2015 年 7 月 11 日
編集済み: Stephen23 2015 年 7 月 11 日
>> 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 2015 年 7 月 11 日

0 投票

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

カテゴリ

ヘルプ センター および File ExchangeCharacters and Strings についてさらに検索

タグ

タグが未入力です。

質問済み:

2015 年 7 月 11 日

編集済み:

2015 年 7 月 11 日

Community Treasure Hunt

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

Start Hunting!

Translated by