Done a little test using 3 approachs (with new BigDecimal(-12.321)), all are working:
rule "test big decimal 1"
when
Pojo(bigDecimal < 0.0)
then
System.out.println("test big decimal 1");
end
rule "test big decimal 2"
when
Pojo(bigDecimal.doubleValue < 0.0)
then
System.out.println("test big decimal 2");
end
rule "test big decimal 3"
when
Pojo(bigDecimalValue < 0.0) // with
then
System.out.println("test big decimal 3");
end
with a wrapper method for the 3rd rule :
public Double getBigDecimalValue() {
if (bigDecimal == null) {
return null;
} else {
return bigDecimal.doubleValue();
}
}
Your problem come from somewhere else (other conditions, wrong number in your object,
missing import, too old version ...)
----- Mail original -----
De: "devan vanreenen" <devan.vanreenen(a)gmail.com>
À: rules-users(a)lists.jboss.org
Envoyé: Dimanche 10 Juin 2012 19:38:42
Objet: [rules-users] BigDecimal comparison
Hi there,
Please assist.
I have an object MaxCap that has a single property capAmount of type
BigDecimal.
The BigDecimal is negative
when the rule is
MaxCap( capAmount.doubleValue < 0.00 ) it doesnt fire, which I expect it
should but when the rule is
MaxCap( capAmount.doubleValue > 0.00 ) then the rules fires, so the rule
recognises my negative number as a positive one.
Any help would be appreciated.
Thanks
Devan
--
View this message in context:
http://drools.46999.n3.nabble.com/BigDecimal-comparison-tp4017841.html
Sent from the Drools: User forum mailing list archive at
Nabble.com.
_______________________________________________
rules-users mailing list
rules-users(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users