支持表达式的公式计算工具
Posted | archive
昨天鸡腿同学说,写一个支持公式的计算工具还是挺复杂的。当时我就笑了,用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