2013-01-14 4 views
0

사용자 입력에 대해 실행될 수식을 사용자가 정의하는 프로젝트에서 작업하고 있습니다.자바 스크립트 수학 라이브러리

UI 측면에서 사용자는 예를 들어 varA 및 varB의 값을 입력합니다. 자바 스크립트 코드는이 두 값을 선택하여 다음과 같은 공식에 삽입해야합니다.

varA + varB ** (1/2.0) 

그런 다음 결과를 반환합니다.

내가 직면 한 문제는 위에서 설명한 **과 같은 일부 연산이 자바 스크립트에 직접 매핑되지 않아서 이러한 공식을 어떻게 변환해야하는지입니다. 내가 사용할 수있는 이런 종류의 물건을 구현하는 라이브러리가 있습니까?

편집 : 나는 (. 멀리 replace 인 대신 **^을 포함)

더 좋은 사람 내가 필요 정확히 수행하는 this 발견?

+3

나의 무지를 용서하지만이'** '어떻게해야합니까? – gideon

+0

적어도 루비에서는'**'지수 연산 'a ** 2'가 제곱입니다. –

+0

내 지식에서 나는 그렇게 생각하지 않아 ..하지만 당신은 함수로 일명 'squared'로 숫자를 제곱 할 것입니다 .. – ryanc1256

답변

1

math.js 라이브러리의 표현 파서를 사용할 수 있습니다. 그래도 전원에 ^ 문자를 사용합니다.

http://mathjs.org

사용 예제 :

var parser = math.parser(); 
parser.eval('a = 1.2/(2.3 + 0.7)'); // 0.4 
parser.eval('2 * a');     // 0.8 
parser.eval('5.08 cm in inch');   // 2 inch 
parser.eval('sin(45 deg)^2');   // 0.5 
parser.eval('9/3 + 2i');    // 3 + 2i 
parser.eval('det([-1, 2; 3, 1])');  // -7