支持表达式的公式计算工具

昨天鸡腿同学说,写一个支持公式的计算工具还是挺复杂的。当时我就笑了,用C#写可能巨复杂,但是用脚本写就太简单了,于是偶就写了个,大家试试

window.execScript\('pi=4*atn\(1\)\\ne=exp\(1\)\\nmsgbox\(eval\('+prompt\('Expression to calculate?','log\(e\)+sin\(pi\)/5-arccos\(.5\)'\).toLowerCase\(\).replace\(/\(arccos\)\\\(\(.+\)\\\)/g, 'pi/2-arcsin\($2\)'\).replace\(/\(arcsin\)\\\(\(.+\)\\\)/g, 'atn\($2/sqr\(1-$2*$2\)\)'\).replace\(/arctan/g, 'atn'\)+'\)\)','VBScript'\);

使用方法;

支持运算:

+
-
×
÷
sin
cos
tan
arcsin
arccos
arctan
x^y x的y次方
exp(n) (自然对数e的n次方, e^n )
log(x) (自然对数开方)
支持无穷级括号运算,全部用 () 英文的半角小括号

支持常数:
pi=3.14159265358979
e=2.71828182845905

当然了,可以使用正则增加对 sec csc ctg sh ch th等计算符号的支持。只不过偶懒得写罢了

Comments