Filter löschen
Filter löschen

Check input is a string or Char if so reprompt

3 Ansichten (letzte 30 Tage)
Methat
Methat am 5 Mai 2024
Kommentiert: Methat am 6 Mai 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 Kommentare
Stephen23
Stephen23 am 5 Mai 2024
If you specify the 's' option then INPUT will always return a character vector:
txt = input(prompt,'s')
Methat
Methat am 6 Mai 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?

Melden Sie sich an, um zu kommentieren.

Antworten (1)

Walter Roberson
Walter Roberson am 6 Mai 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 Kommentare
Methat
Methat am 6 Mai 2024
Oh I see thanks for the help I will try using ~ in my current iteration on the code thanks for linking those explinations.

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Numeric Types finden Sie in Help Center und File Exchange

Tags

Produkte

Community Treasure Hunt

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

Start Hunting!

Translated by