Assign values to a structure using App designer

8 visualizaciones (últimos 30 días)
ZC Song
ZC Song el 17 de Abr. de 2019
Respondida: mansour torabi el 1 de Oct. de 2021
Hi, I want to ask a simple question that bothered me a lot.
When I assign values to a struct, like below
BC.theta_res = app.theta_resEditField_3.Value;
BC.theta_sat = app.theta_satEditField_3.Value;
BC.K_sat = app.K_satEditField_3.Value;
BC.lambda = app.lambdaEditField.Value;
BC.h_s = app.h_sEditField.Value;
why they store values as characters not numbers? Each item has a single quote mark on it.
My input in the app is:
How to make it to a number?
thanks a lot!

Respuestas (2)

Dennis el 17 de Abr. de 2019
There are two different types of edit fields in appdesigner (numeric and text). In the picture you show are only text edit fields (those are usually left aligned, while numeric fields are right aligned). The value of text edit fields is a string and should be converted to a number before doing calculations with it.
f(1)=uieditfield(fig,'position',[100 50 80 40],'value','1');
f(2)=uieditfield(fig,'numeric','position',[100 90 80 40],'value',2);
f(1).Value+5 %does not throw an error!
  4 comentarios
ZC Song
ZC Song el 19 de Abr. de 2019
Hi Dennis,
Thank you very much for your attention, I retyped all fields and now they are runing fine!

Iniciar sesión para comentar.

mansour torabi
mansour torabi el 1 de Oct. de 2021
Simply just use str2double function:
BC.theta_res = str2double(app.theta_resEditField_3.Value);


Más información sobre Develop Apps Using App Designer en Help Center y File Exchange.


Community Treasure Hunt

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

Start Hunting!

Translated by