Borrar filtros
Borrar filtros

Check input is a string or Char if so reprompt

2 visualizaciones (últimos 30 días)
Methat
Methat el 5 de Mayo de 2024
Comentada: Methat el 6 de Mayo de 2024
I am struggling to fidn a way to check a input if its any type of string or char and if so reprompt the user.
Code is below:
a = input("Please enter a number: "); %Takes user input for number that is to be converted
while isempty(a)
disp('Invalid input please enter a number!')
a = input("Please enter a number: ");
end
convtype = input("Please enter the conversion type: "); %Takes user input for the cnversion type that they want
while isempty(convtype)|| convtype < 1 || convtype > 14
disp('Invalid conversion type selection please make a selection between 1 and 14!')
convtype = input("Please enter the conversion type: ");
end
  2 comentarios
Stephen23
Stephen23 el 5 de Mayo de 2024
If you specify the 's' option then INPUT will always return a character vector:
txt = input(prompt,'s')
Methat
Methat el 6 de Mayo de 2024
so it will return that value as a charecter lets say I need to use that value later for a calculation I would need to convert it back to a numerical input. Also if I were to do this would I use ischar() to check if its charecter to ten reprompt the user to re-enter their value?

Iniciar sesión para comentar.

Respuestas (1)

Walter Roberson
Walter Roberson el 6 de Mayo de 2024
a = input("Please enter a number: "); %Takes user input for number that is to be converted
while ~isnumeric(a) || numel(a) ~= 1
disp('Invalid input please enter a number!')
a = input("Please enter a number: ");
end
convtype = input("Please enter the conversion type, integer 1 to 14: "); %Takes user input for the cnversion type that they want
while ~isnumeric(convtype) || numel(convtype) ~= 1 || convtype ~= floor(convtype) || convtype < 1 || convtype > 14
disp('Invalid conversion type selection please make a selection between 1 and 14!')
convtype = input("Please enter the conversion type as an integer 1 to 14: ");
end
  3 comentarios
Methat
Methat el 6 de Mayo de 2024
Oh I see thanks for the help I will try using ~ in my current iteration on the code thanks for linking those explinations.

Iniciar sesión para comentar.

Categorías

Más información sobre Numeric Types en Help Center y File Exchange.

Etiquetas

Productos

Community Treasure Hunt

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

Start Hunting!

Translated by