How can i collect number without using eval function ?
3 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
ahmet ozdemir
el 2 de Mayo de 2016
Comentada: ahmet ozdemir
el 2 de Mayo de 2016
I try to use int2str and num2str which didnot compute the problem. However, it computed ans = 51 43 50 If I give 3+2, it should compute 5 and show the screen which one can be defined ? What is something? Like example:
Number=input('Enter Number please:','s')
result=something(Number)
4 comentarios
CS Researcher
el 2 de Mayo de 2016
@ahmet ozdemir: Did you see my recent solution? It does what you are asking for.
Respuesta aceptada
CS Researcher
el 2 de Mayo de 2016
Editada: CS Researcher
el 2 de Mayo de 2016
You can try something like this:
in = input('Please enter a number:','s');
s = strsplit(in,'+');
result = sum(str2double(s));
3 comentarios
CS Researcher
el 2 de Mayo de 2016
Editada: CS Researcher
el 2 de Mayo de 2016
If it works you should accept my solution. You can update it to work for any operation. I will give you the solution to a basic 2 input problem:
in = input('Please enter a number:','s');
s = strsplit(in,'-');
result = -1*diff(str2double(s));
This will however only work for a basic subtraction. You should take it forward and modify it according to your need.
Más respuestas (2)
CS Researcher
el 2 de Mayo de 2016
You mean something like this:
Number=input('Enter Number please:','s');
eval(['result = ' Number])
3 comentarios
Stephen23
el 2 de Mayo de 2016
1) the title states clearly "without using eval function"
2) eval should be avoided for many reasons. In this case it could be a security risk because it executes arbitrary code from the end user.
Ver también
Categorías
Más información sobre Startup and Shutdown 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!