If you need to compare two float numbers in Odoo you should use the method float_compare. This method allows you to have more accurate results in your calculation. Except for the values that need to be compared this method as arguments receives precision_digits and precision_rounding. You need to choose only one of these arguments because the precision must be by digits or rounding.
For example, if you want to compare 8.945 and 8,946 with precision_digits 2 the return result will be 0 that means both values are same. In a case when precision_digits is 3 the return value will be -1 that means the second value is bigger than the first.
# Odoo 9 from openerp.tools import float_compare # Odoo 10 from odoo.tools import float_compare >>> float_compare(8.945, 8.946, precision_digits=2) >>> 0 >>> float_compare(8.945, 8.946, precision_digits=3) >>> -1 >>> float_compare(8.946, 8.945, precision_digits=3) >>> 1
You can find more how this method works in the Github Odoo repository