我正在创建一个计算整数位数的函数。然而答案仍然是零。现在已经晚了,我可能会忽略一些非常简单的事情。感谢。
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
答案 0 :(得分:4)
我认为你忽视了像
这样简单明了的事情floor(log10(abs(your_integer_here))+1)
答案 1 :(得分:3)
numel(num2str(abs(your_integer_here)))
诀窍。