首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在MATLAB中验证输入是否为数字

如何在MATLAB中验证输入是否为数字
EN

Stack Overflow用户
提问于 2020-06-12 02:29:24
回答 2查看 289关注 0票数 0

这是我写的代码,用来获得每个数字等级对应的字母等级。我希望确保用户不输入任何字符串或字符作为输入。只有数字。所以我使用了isnumeric函数,但是代码不起作用,当我输入一个字符串时,while循环也不会中断。它只会给我一个错误。都会很感谢你的帮助。谢谢。

代码语言:javascript
复制
c=input('What is your grade?  ');
   while 1
if  ~isnumeric(c)
    break
end
if c>=90 && c<=100
   disp('A');
elseif c<90 && c>=80
    disp('B');
else
    disp('F');
end
   end
EN

回答 2

Stack Overflow用户

发布于 2020-06-12 13:35:42

看看validateattributes吧。它比简单的isnumeric强大得多,例如,你可以指定一个数字应该位于的范围:{'>',0,'<',10}或要求他们为nonnegative

代码语言:javascript
复制
validateattributes(x,{'numeric'},{'nonnegative'})
票数 1
EN

Stack Overflow用户

发布于 2020-06-12 15:09:03

input评估用户输入的内容*。如果用户输入的不是有效的MATLAB表达式,您将看到一条错误消息。相反,

代码语言:javascript
复制
c = input('What is your grade?  ', 's');

's'参数使得该函数以字符串的形式准确返回用户键入的内容。然后,您可以使用str2double将其转换为数字。如果不是数字,则返回NaN。您可以对此进行测试:

代码语言:javascript
复制
while true
   c = input('What is your grade?  ', 's');
   c = str2double(c);
   if isnan(c)
      break
   end
   disp(c)
end

*这种评估实际上使在此表单中使用input变得危险,例如,用户可以输入delete('c:/windows')或类似的东西来破坏您的系统。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62331121

复制
相关文章

相似问题

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