首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >数据类型标识显示错误输出MATLAB

数据类型标识显示错误输出MATLAB
EN

Stack Overflow用户
提问于 2021-11-25 14:35:51
回答 1查看 29关注 0票数 0

我想检查用户输入的值是否为Integer。我尝试使用下面的代码,但它给出了错误的输出。当我输入一个分数值时,它仍然显示"it is an Integer“。

代码语言:javascript
复制
prompt = {'Please Enter the start time:','Increment:','Stop time:'}; %Asking user to enter the data
dlgtitle = 'Input'; %Creating a title for the dialog box
dims = [1 40]; %Adjusting the dimensions
definput = {'0','0.01','10'}; %Using default values to warn users not to put text instead of number
answer = inputdlg(prompt,dlgtitle,dims,definput); %storing the three items of data the user enters
start = str2num(answer{1}); %Converting start value string to number
increment = str2num(answer{2}); %Converting increment value string to number
stop = str2num(answer{3}); %Converting stop value string to number



if start >= stop
    f = msgbox('Start time cannot be greater than end time! Please re-enter!', 'Error!');

elseif increment >= stop
    f = msgbox('The increment cannot be larger than the end time! Please re-enter!', 'Error!');
elseif start <= -1 
    f = msgbox('The start time can only be positive numbers! Please re-enter!', 'Error!' );
elseif stop <= -1 
    f = msgbox('The end time can only be positive numbers! Please re-enter!', 'Error!');
elseif increment <= -1 
    f = msgbox('The increment can only be positive numbers! Please re-enter!', 'Error!');
elseif isempty(str2num(answer{1}))
    f = msgbox('Input must be a number! Please re-enter!', 'Error!');
elseif isempty(str2num(answer{2}))
    f = msgbox('Input must be a number! Please re-enter!', 'Error!');
elseif isempty(str2num(answer{3}))
    f = msgbox('Input must be a number! Please re-enter!', 'Error!');
end 

start=int16(10); %define 'count' as an 8-bit integer 
integer_check=isinteger(start)% is count an integer, 1 if yes, 0 if no 
    if integer_check==1 % if isinteger returns a ‘1’ display message
          disp(' Yes it is an integer')
    else                  % if isinteger returns a ‘0’ display message
            disp(' No it is not an integer')
    end
EN

回答 1

Stack Overflow用户

发布于 2021-11-25 16:50:08

如果是一个整数,如果除以1则没有余数。因此,用integer_check = isinteger(start)代替

使用

代码语言:javascript
复制
integer_check = rem(start,1) == 0;
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70112927

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档