How do I check that input is numerical?
古いコメントを表示
I'm trying to create a program that will prompt the user for a numerical input, for example: 'What age are you?'. I know how to prompt the user to ask for an input, but I want to know how to check the answer to make sure it is a numerical figure, ie to stop the user putting in the answer 'twelve'. Any help would be greatly appreciated.
Seán
1 件のコメント
More reliable than str2num is to use str2double (which does not call eval and does not evaluate arbitrary code). str2double outputs NaN for invalid input strings, so simply do this:
val = str2double(input('What age are you?','s'));
if isnan(val)
... not a number
else
... was number
end
See KSSV's answer for another example of using str2double.
採用された回答
その他の回答 (1 件)
Thorsten
2017 年 4 月 24 日
Using
isnumeric
カテゴリ
ヘルプ センター および File Exchange で Scope Variables and Generate Names についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!