1

整数の桁数を数える関数を作成しています。ただし、答えはゼロとして出続けます。遅く、おそらく非常に単純なものを見落としています。ありがとう。

function [ count ] = CountDigits( input )

s = int2str(input);      % convert the input to a string
count = 0;               % initialize count to zero
n = length(s);           % total length of s

    for k = 1 : 1 : n
        if s(1,k) >= '0' && s(1,k) <= '9'           % is digit
            count = count + 1;                      % add to count if digit
        end
    end
end
4

2 に答える 2

4

あなたは次のような簡単なものを見落としていると思います

floor(log10(abs(your_integer_here))+1)
于 2013-11-07T08:46:42.183 に答える
3

numel(num2str(abs(your_integer_here))) トリックを行います。

于 2013-11-07T09:19:50.813 に答える