Can anybody here help me in writing a function that takes in a string as an argument and solves the mathematical expression inside that string. And, it is assured that the string will have a pure mathematical expression (containing numbers 0-9 and operators +, - , *, / only) with no alphabets or special characters.
It’s way simpler than you imagine! JS provides a function called eval
which takes a string as parameter and evaluates it and returns the result of evaluation.
function solveMathProblem(mathProblemString){
return eval(mathProblemString);
}
solveMathProblem('(4*3)/2'); // 6
Having said that, I must mention that using eval
can be unsafe. I won’t get into details of how and why. But know that using eval
poses a lot of security threats.
I’d recommend you build your own function that will convert your string into tokens and then use a data structure like stack to evaluate the final result. This is a bit complicated than simply using eval. But it’s worth learning.
This link might help you understand how to use data structures to evaluate mathematical expressions.
1 Like