这是一个紧凑的方式:
y = x.*10.^(1:20)
find(y==round(y),1)
Run Code Online (Sandbox Code Playgroud)
假设这x是您的数字,20是最大小数位数.
正如评论中提到的,“小数位数”在大多数情况下没有意义,但我认为这可能就是您正在寻找的:
>> num = 1.23400;
>> temp = regexp(num2str(num),'\.','split')
temp =
'1' '234'
>> length(temp{2})
ans =
3
Run Code Online (Sandbox Code Playgroud)