Hello,
I am trying to validate a user input as numeric while forcing the user to repeat if it is not. I currently have this working well as long as the user does not input a letter that is non numeric. I would like it to prompt the user again if they input a string instead of a number. Any help is appreciated.
Thanks
my input looks like
array(r, c) = str2num(input(['Digit for position ', num2str(c), ': '], 's'));
while array(r, c) > 6 || array(r, c) < 0
GUESS(r, c) = str2num(input(['Digit for position ', num2str(cc), ': '], 's'));
end

 Respuesta aceptada

Walter Roberson
Walter Roberson el 27 de Jul. de 2020
Editada: Walter Roberson el 27 de Jul. de 2020

0 votos

array(r, c) = str2double(input(['Digit for position ', num2str(c), ': '], 's'));
while isnan(array(r,c)) || array(r,c) ~= fix(array(r,c)) || array(r, c) < 0 || array(r, c) > 6
array(r, c) = str2double(input(['Digit for position ', num2str(cc), ': '], 's'));
end
or
array(r, c) = str2double(input(['Digit for position ', num2str(c), ': '], 's'));
while ~ismember(array(r,c), 0:6)
array(r, c) = str2double(input(['Digit for position ', num2str(cc), ': '], 's'));
end

3 comentarios

Scott Tobin
Scott Tobin el 27 de Jul. de 2020
Okay, thank you.
However, I know have the issue of it interpreting the input as a string. Inputing 'w' yields unrecognized funciton or variable 'w'
Scott Tobin
Scott Tobin el 27 de Jul. de 2020
Actually that was on me with a typo but I do have...
Unable to perform assignment because the size of the left side is 1-by-1 and the size
of the right side is 0-by-0 for the array in the loop
Scott Tobin
Scott Tobin el 27 de Jul. de 2020
Ope spotted was supposed to be str2double not str2num in the second. Appreciate the help I haven't seen it done in that manner before thanks for the tip

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Characters and Strings en Centro de ayuda y File Exchange.

Productos

Etiquetas

Preguntada:

el 27 de Jul. de 2020

Editada:

el 27 de Jul. de 2020

Community Treasure Hunt

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

Start Hunting!

Translated by