Clear Filters
Clear Filters

Check input is a string or Char if so reprompt

3 views (last 30 days)
Methat
Methat on 5 May 2024
Commented: Methat on 6 May 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 Comments
Stephen23
Stephen23 on 5 May 2024
If you specify the 's' option then INPUT will always return a character vector:
txt = input(prompt,'s')
Methat
Methat on 6 May 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?

Sign in to comment.

Answers (1)

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

Sign in to comment.

Categories

Find more on Numeric Types in Help Center and File Exchange

Tags

Products

Community Treasure Hunt

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

Start Hunting!