Define a variable via inputdlg?

I would like a variable to be assigned via a user prompt. For example, consider the following command:
row = inputdlg('Insert row number.');
When a user inputs 1 in the popup box, the value of the variable "row" is not recognized as a number or a string, but as a '1', with ticks surrounding it.
Is there a way to have a variable defined as a number or a string from a popup box?
Thank you!

 Respuesta aceptada

Amit
Amit el 30 de En. de 2014
row = inputdlg('Insert row number.');
row = str2num(row{:});

3 comentarios

Mark
Mark el 30 de En. de 2014
I'm sorry, I could have been clearer. "row" refers to a row of grapevines in a vineyard for my program. It's just a variable, not a row in a matrix...
I'd like to define a number variable via a user input in a popup box. Thanks!
Amit
Amit el 30 de En. de 2014
That's correct and that's what this will do (give it a try). You can replace row with whatever variable name you like.
Moreover, row is not a matlab command that you'll override by using as a variable !
Mark
Mark el 31 de En. de 2014
Thank you! Works like a charm :)

Iniciar sesión para comentar.

Más respuestas (1)

David Sanchez
David Sanchez el 30 de En. de 2014
You can do it in a single line and use str2double which is faster than str2num:
row = str2double( inputdlg('Insert row number.') );

Categorías

Más información sobre Data Type Conversion en Centro de ayuda y File Exchange.

Etiquetas

Preguntada:

el 30 de En. de 2014

Comentada:

el 31 de En. de 2014

Community Treasure Hunt

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

Start Hunting!

Translated by