youseries / urule

URULE是一款基于RETE算法的纯Java规则引擎,提供规则集、决策表、决策树、评分卡,规则流等各种规则表现工具及基于网页的可视化设计器,可快速开发出各种复杂业务规则。
Apache License 2.0
1.83k stars 723 forks source link

表达式右值为负数时,计算结果不正确 #126

Closed jannal closed 5 years ago

jannal commented 5 years ago

为了您的问题能得到及时准确解答,请认真填写下面各个选项,感谢您的配合。

例如变量a和变量b,a-b或者1000-b。当变量b是负数时,获得的结果不正确。不是相加,而是减 比如a=2000 b=-1000 结果是a-b=1000 或者 2000-b = 1000 感觉ValueCompute 有bug,Number也与其他类型一样 expr.append("\""+obj+"\"");而不是使用 expr.append(obj.toString()); 修改成这样不知道对不对。 private void addToExpr(StringBuffer expr,Object obj){ expr.append(" "); if(obj instanceof ArithmeticType){ expr.append(obj.toString());
}else if(obj instanceof Number){ expr.append(obj.toString()); }else{ expr.append("\""+obj+"\""); } expr.append(" "); }

youseries commented 5 years ago

试试pro版

xyz1o2 commented 5 years ago

开源版这么多坑吗

youseries commented 5 years ago

是的。