Instead of outputting error how to display warning?

I have a GUI where users are typing values into a table. In order for the calculations to work they have to type in numbers and not letters. This way i can convert the numbers using str2num.
Is there a way to check if str2num will work, and if it doen't then I can display a msgbox telling the users to only type in numbers?

3 Comments

Using the right tools makes this much easier:
  1. Use STR2DOUBLE (instead of STR2NUM) which returns NaN if the input is not a string of a valid number.
  2. If the output is NaN display the message box.
Avoid STR2NUM (it uses evil EVAL, which is best avoided)
You may check if the user enters a number as follws:
x = input('Insert a number\n', 's');
if isnan(str2double(x))
error('Enter a number without letters');
end

Sign in to comment.

Answers (1)

Hello,
According to my understanding you want to display a custom message when the user inputs wrong data format.
We can display a custom error message with the help of error function.
Sample Code: -
x = input("Input number\n",'s') %Input from the user
if isempty(str2num(x))
error("The input is not of correct format.\n")
end
For further reference on error use: - https://www.mathworks.com/help/matlab/ref/error.html
For further reference on str2num use: - https://www.mathworks.com/help/matlab/ref/str2num.html

Asked:

on 1 Jul 2021

Answered:

on 9 Feb 2023

Community Treasure Hunt

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

Start Hunting!