Groovy Shell,又名。groovysh是一個命令行應用程序,可輕松訪問以評估Groovy表達式,定義類並運行簡單的實驗。現在已經支持在java里面使用
maven:
<!--groovy自定義函數--> <dependency> <groupId>org.codehaus.groovy</groupId> <artifactId>groovy-all</artifactId> <version>2.4.7</version> </dependency>
代碼測試:
/** * 自定義表達式 */ @Test public void test3() { Binding binding = new Binding(); binding.setVariable("F", 2.5); binding.setVariable("T", 1); binding.setVariable("A", 100); binding.setVariable("P", 100); binding.setVariable("language", "Groovy"); GroovyShell shell = new GroovyShell(binding); Object F1 = shell.evaluate("P1=(1+0.1 * (F/100) * T)*P0; return P1 "); Object F2 = shell.evaluate("P1=P*(0.055*0.20+1.0011)+A; return P1 "); Object F3 = shell.evaluate("P1=P*(((F*0.20)+1.0011)+A)+100; return P1 "); System.out.println(F1); System.out.println(F2); BigDecimal bg = new BigDecimal((Double) F3); System.out.println(bg.setScale(2, RoundingMode.HALF_DOWN).doubleValue()); }
測試結果: