想要一个支持基于bigdecimal的自定义公式计算的maven依赖项吗

kuuvgm7e  于 2021-06-29  发布在  Java
关注(0)|答案(2)|浏览(663)

我想实现以下代码示例,以便将公式存储到数据库中并重用它:

Function fun = new Function("(${x}+${y})/${z}");            
Argument x = new Argument("x", BigDecimal.ValueOf("1.1"));
Argument y = new Argument("y", BigDecimal.ValueOf("1.1"));
Argument z = new Argument("y", BigDecimal.ValueOf("1.1"));
BigDecimal result = fun.calculate(x,y,z);

我已经尝试过其他框架,比如 commons-jexl 以及 mathparser ,但他们都不支持 BigDecimal .

3bygqnnd

3bygqnnd1#

试试这个

<dependency>
    <groupId>com.jtransc</groupId>
    <artifactId>jtransc-rt</artifactId>
    <version>0.6.1</version>
</dependency>
whhtz7ly

whhtz7ly2#

此maven依赖项:

<dependency>
            <groupId>com.udojava</groupId>
            <artifactId>EvalEx</artifactId>
            <version>2.5</version>
        </dependency>

使用以下代码段:

System.out.println(
        new Expression( "(x + y) / z" )
                .with( "x", BigDecimal.valueOf( 1.1 ) )
                .and( "y", BigDecimal.valueOf( 1.1 ) )
                .and( "z", BigDecimal.valueOf( 1.1 ) )
                .eval()
    );

印刷品:

2

相关问题