1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
package helper;
import com.yanzuoguang.util.helper.FormulaHelper;
import org.junit.Test;
public class TestFormulaHelper {
@Test
public void test() {
System.out.println(FormulaHelper.calc("120 + 2 * ( a + b * d )", new FormulaHelper.CalcParameter() {
@Override
public double getValue(String parameterName) {
switch (parameterName){
case "a":
return 5;
case "b":
return 3;
case "d":
return 11;
default:
return 0;
}
}
}));
}
@Test
public void testMul() {
System.out.println(FormulaHelper.calc("(100-0)-2"));
System.out.println(FormulaHelper.calc("100-0-2"));
System.out.println(FormulaHelper.calc("100*2/3+2*5"));
System.out.println(FormulaHelper.calc("8+3*4"));
System.out.println(FormulaHelper.calc("(8+4)*3"));
System.out.println(FormulaHelper.calc(" 8-6/3"));
System.out.println(FormulaHelper.calc("(8-5)/3"));
System.out.println(FormulaHelper.calc("(1-2)*(3-4)"));
System.out.println(FormulaHelper.calc("1+(2+3)/(1+4)"));
System.out.println(FormulaHelper.calc("1+(2-5)/(2+4)"));
// System.out.println(FormulaHelper.calc(""));
}
@Test
public void test1() {
System.out.println(FormulaHelper.calc("= a * 120 + 2 * ( a + b * d )", new FormulaHelper.CalcParameter() {
@Override
public double getValue(String parameterName) {
switch (parameterName){
case "a":
return 5;
case "b":
return 3;
case "d":
return 11;
default:
return 0;
}
}
}));
}
@Test
public void test3() {
System.out.println(FormulaHelper.calc("a * 0.006", new FormulaHelper.CalcParameter() {
@Override
public double getValue(String parameterName) {
switch (parameterName){
case "a":
return 1500;
default:
return 0;
}
}
}));
}
@Test
public void test2() {
System.out.println(FormulaHelper.getExcelIndex("aa"));
System.out.println(FormulaHelper.getExcelIndex("ba"));
System.out.println(FormulaHelper.getExcelIndex("ab"));
System.out.println(FormulaHelper.getExcelIndex("a"));
}
}