How can I show the error message when the input data get wrong?

I want to create the inputdlg to let user to input the data. But how can I add the check coding to check the input is between 2000 and 2019? Thank you.
My current coding:
prompt = {'Start Year:','End Year:'};
dlgtitle = 'Year Range (Between 2000 and 2019)';
dims = [1 50];
answer = inputdlg(prompt,dlgtitle,dims);
disp(answer)

 採用された回答

VBBV
VBBV 2022 年 12 月 11 日
編集済み: VBBV 2022 年 12 月 11 日

0 投票

prompt = {'Start Year:','End Year:'};
dlgtitle = 'Year Range (Between 2000 and 2019)';
dims = [1 50];
answer = inputdlg(prompt,dlgtitle,dims);
if str2num(answer{1}) < 2000 | str2num(answer{2}) > 2019 % check the condition for year range
disp('Error: please enter valid range')
else
disp(answer)
end

1 件のコメント

Sin Man
Sin Man 2022 年 12 月 11 日
編集済み: Sin Man 2022 年 12 月 11 日
Thank You. If I also want to show the error when the input is not a integer. How can I do?

サインインしてコメントする。

その他の回答 (1 件)

KSSV
KSSV 2022 年 12 月 11 日

0 投票

prompt = {'Start Year:','End Year:'};
dlgtitle = 'Year Range (Between 2000 and 2019)';
dims = [1 50];
answer = inputdlg(prompt,dlgtitle,dims);
while any(str2double(answer)<2019) || any(str2double(answer) > 2020)
answer = inputdlg(prompt,dlgtitle,dims);
end
disp(answer)

1 件のコメント

Sin Man
Sin Man 2022 年 12 月 11 日
編集済み: Sin Man 2022 年 12 月 11 日
If I also want to show the error when the input is not a integer (such as the input is other symbol or wording). How can I do?
Thank you

サインインしてコメントする。

カテゴリ

製品

リリース

R2022b

質問済み:

2022 年 12 月 11 日

編集済み:

2022 年 12 月 11 日

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by