MathParser.org-mXparser 数学表达式计算

背景

在系统中需要计算公式,参数可以配置,类似excel的情况,可以实现数据的计算。

mXparser

实例

 public static void main(String[] args) throws InterruptedException {
        Argument days = new Argument("days = 30");
        Expression min = new Expression("min(days/10,1)", days);
        mXparser.consolePrint(min.getExpressionString() + "----" + min.calculate());
        Expression e = new Expression("2-(32-4)/(23+4/5)-(2-4)*(4+6-98.2)+4");
        mXparser.consolePrintln("Res: " + e.getExpressionString() + " = " + e.calculate());
        Expression abs = new Expression("abs(-1)");
        mXparser.consolePrintln("Res: " + abs.getExpressionString() + " = " + abs.calculate());
        Expression sqrt = new Expression("sqrt(2)");
        mXparser.consolePrintln("Res: " + sqrt.getExpressionString() + " = " + sqrt.calculate());
        Function A = new Function("t(a,b) = 1/2 * a *b");
        Expression expression = new Expression("t(2,4)",A);
        mXparser.consolePrintln(expression.getExpressionString() +"-----------"+expression.calculate());
        Argument a = new Argument("a = 3");
        Argument b = new Argument("b = 3");
        Argument h = new Argument("h = 4");
        Expression expression1 = new Expression("t(b,h)",A,b,h,a);
        mXparser.consolePrintln(expression1.getExpressionString() +"-----------"+expression1.calculate());
        Expression expression2 = new Expression("1/2 * a *b",A,b,h,a);
        mXparser.consolePrintln(expression2.getExpressionString() +"-----------"+expression2.calculate());

    }

源码

https://github.com/mariuszgromada/MathParser.org-mXparser

posted on 2019-09-26 11:49  安生蓝草  阅读(1237)  评论(0编辑  收藏  举报

导航