9

Is there a good math parser in Javascript? I want to be able to parse something like:

LOG(3.14)+5^2+POW(2,LN(X*2,Y))

Thanks,

Mark K
  • 1,224
  • 3
  • 20
  • 30

4 Answers4

6

Here is a brand new initiative:

http://mathjs.org

Comes with an extensive and easy to use parser which also supports assignment and usage of variables and functions like in your example expression.

Jos de Jong
  • 6,602
  • 3
  • 38
  • 58
3

Use this one. It defined an "operator" object that lets you define your own operators.

http://jsfromhell.com/classes/math-processor

Warning: it uses with. If you don't know why that's dangerous, find out before using this code in anything critical. Alternately, you could just re-write it without with.

Sir Robert
  • 4,686
  • 7
  • 41
  • 57
2

Try nerdamer

var result = nerdamer('log(3.14)+5^2+2^(log(X*2)/log(Y))').evaluate();
document.getElementById('text').innerHTML = result.text();
<script src="http://nerdamer.com/js/nerdamer.core.js"></script>
<div id="text"></div>
ArchHaskeller
  • 1,270
  • 1
  • 12
  • 28
0

I know it's an old question, but I found it by chance and I have something to help. Not as complete as mathjs, but useful and fast.

mclopez
  • 151
  • 1
  • 11