Java使用GroovyShell計算自定義表達式


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());
    }

 

測試結果:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM