checking that a user input is an integer

8 vues (au cours des 30 derniers jours)
Jonathan Bird
Jonathan Bird le 19 Fév 2018
The user is told to input an integer between 1 and 59 but I want an error message to display if the value they enter is not an integer. This is what I have so far:
prompt = {'Enter your first integer between 1 and 59'};
dlg_title = 'User inputs';
num_lines = 1;
answer = inputdlg(prompt,dlg_title,num_lines);
u=str2double(answer{1});

Réponse acceptée

Star Strider
Star Strider le 19 Fév 2018
There are several ways of testing to see if the returned value is an integer.
You want to see if there is any non-zero value to the right of the decimal, so test for that. You can also experiment with the rem or mod functions.

Plus de réponses (1)

Roger Stafford
Roger Stafford le 19 Fév 2018
Test whether this is true. If so, 'prompt' is an integer, otherwise it is not.
prompt==round(prompt)

Catégories

En savoir plus sur Logical dans Help Center et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by