How can i collect number without using eval function ?
1 visualizzazione (ultimi 30 giorni)
Mostra commenti meno recenti
ahmet ozdemir
il 2 Mag 2016
Commentato: ahmet ozdemir
il 2 Mag 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 Commenti
CS Researcher
il 2 Mag 2016
@ahmet ozdemir: Did you see my recent solution? It does what you are asking for.
Risposta accettata
CS Researcher
il 2 Mag 2016
Modificato: CS Researcher
il 2 Mag 2016
You can try something like this:
in = input('Please enter a number:','s');
s = strsplit(in,'+');
result = sum(str2double(s));
3 Commenti
CS Researcher
il 2 Mag 2016
Modificato: CS Researcher
il 2 Mag 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.
Più risposte (2)
CS Researcher
il 2 Mag 2016
You mean something like this:
Number=input('Enter Number please:','s');
eval(['result = ' Number])
3 Commenti
Stephen23
il 2 Mag 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.
Vedere anche
Categorie
Scopri di più su Variables in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!