# Painless using comparing to a float

I'm trying to divide 2 buckets, and check against a float to see if the value has decreased
This works

``````"condition": {
"script": {
"lang": "painless"
}
},
``````

however when I try to test against a float it's not working

``````"condition": {
"script": {
"lang": "painless"
}
``````

},

Here is what the buckets are returning

``````"aggregations": {
"today": {
"buckets": {
"latest60": {
"doc_count": 54983
},
"previous24": {
"doc_count": 54999
}
}
}
}``````

I'm removed the fields all together to test... This always comes back as true

``````"condition": {
"script": {
"inline": "int total=0;  total = ((54983/55000) * 100);  if (total < 75) {return true}",
"lang": "painless"
}
``````

},

total should equal 99.969 so the logic should return false.

and I've simplified that to

``````"condition": {
"script": {
"inline": "return (((54983/55000) * 100) < 75)",
"lang": "painless"
}
``````

}

Which also fails.

moved to x-pack sub

Hey,

welcome to the intricacies of java based rounding. As you are dividing to integers, the return value is `0`, which then is multiplied with 100.

Change your calculation to `return (((54983.0/55000) * 100) < 75)` and suddenly everything works as expected as floating point numbers are used for the calculation...

--Alex

Thanks Alex, I was also given another solution that does the same, from support:

return ((((double)54983/55000) * 100) < 75)