?數(shù)學(xué)表達式解析就是寫程序計算出一套數(shù)學(xué)表達式的結(jié)果.諸如:a+b*c / (d -d)之類的公式.這牽扯到一些編譯原理的東西.代碼寫起來有點麻煩,但只要耐心點總能搞定的.工具使用很簡單,輸入數(shù)學(xué)表達式的字符串,可以設(shè)置x, y, z三個參數(shù)值,按運算按鈕或回車鍵,輸出運算結(jié)果.
(1)標準運算符支持+,-,*,/,%,^這6種標準運算符,其中:%為求余運算, a%b 相當于 mod(a, b); ^為求冪運算, a^b 相當于 pow(a, b);
(2)括號標志符支持{}, [], ()這三類括號標志符,括號必需成對出現(xiàn).支持最大32級括號的嵌套.如:?(2+(-2+(5.0*(9 + ((1+2)*3))/3) + 2))-{exp[sqrt(abs[sin{rand(100)}])]}
(3)支持函數(shù)形式的運算符運算符的函數(shù)名必需為小寫字母.具體說明如下:單目運算操作:positive(a) // 相當于 +anegative(a) // 相當于 -aabs(a)floor(a)ceil(a)sign(a)sqrt(a) // a為負時,會得到無效的數(shù)值exp(a) // a過大時,會得到無效的數(shù)值log(a) // a為負時,會得到無效的數(shù)值log2(a) // a為負時,會得到無效的數(shù)值log10(a) // a為負時,會得到無效的數(shù)值sin(a)cos(a)tan(a)asin(a)acos(a)atan(a)rand(a) // 生成一個0到a的隨機數(shù)
雙目運算操作:add(a, b)sub(a, b)multiply(a, b)divide(a, b)max(a, b)min(a, b)mod(a, b)pow(a, b) // 很容易得到無效的數(shù)值atan2(a, b)rand2(a, b) // 生成一個a到b的隨機數(shù)
三目運算操作:lerp(a, b, r) // 插值clamp(v, hi, low) // 限定值的范圍gray(r, g, b) // 顏色灰度化處理add3(a, b, c)average3(a, b, c)
四目運算操作:add4(a, b, c, d)average4(a, b, c, d)
(4)常量值有兩個常量值PI 3.1415927E 2.7182818常量名必需為大寫字母,如(PI + E)或 sin(PI*0.5)
對整數(shù)的解析支持2,8,10,16四種進制0X開頭為16進制, XABCDEF大小寫都可以, 如0xffff 0Y開頭為2進制, Y大小寫都可以, 如0y101010100000開頭為8進制, 如07523, 注意出現(xiàn)了08之類的分失敗默認為10進制
(6)可以設(shè)置XYZ三個參數(shù), XYZ大小寫都可以.如(X + y + z)
(7)提供幾個測試用的數(shù)學(xué)表達式字符串:log(E) * PI +6 + lerp(1.0, 100.0, PI) + average4(x, y, z, 100) / 5 - 300 + gray(120, 620, 30)PI + 1*3.0 + 6 + (1 + 2 * 3*(x+y)) -28.141594 + sqrt(2) + abs(-2) + mod(2, 3) + 2^(sqrt(5)) - 10.125327
怎樣下載網(wǎng)易彩票軟件蘋果iOS版