Impacted versions:

**11.0**

Steps to reproduce:

Install a new db with demo data, and sale_stock module.  Set rounding for product unit of measure from 3 to 5.  Run sale_stock tests (from command line with --test-enable)

Current behavior:

> FAIL: test_02_sale_stock_return (odoo.addons.sale_stock.tests.test_sale_stock.TestSaleStock)
> 
> AssertionError: 3.0000000000000004 != 3.0 : Sale Stock: delivered quantity should be 3.0 instead of "3.0000000000000004" after picking return
> 

At the lowest level, it appears that float_round is called by  convert_to_cache.

- **float_round(3.0, precision_digits=x) == 3.0**, if x is 1, 2, 3, 4, 6, 7, 8, 9, 10
- **float_round(3.0, precision_digits=5) == 3.0000000000000004**



addons/sale_stock/tests/test_sale_stock.py
Test that updating multiple sale order lines after a succesful delivery creates a single picking containing
        the new move lines.
        """
        
        item1 = self.products['prod_order']
        item2 = self.products['prod_del']
        self.so = self.env['sale.order'].create({
            'partner_id': self.partner.id,
            'order_line': [
                (0, 0, {'name': item1.name, 'product_id': item1.id, 'product_uom_qty': 1, 'product_uom': item1.uom_id.id, 'price_unit': item1.list_price}),
                (0, 0, {'name': item2.name, 'product_id': item2.id, 'product_uom_qty': 1, 'product_uom': item2.uom_id.id, 'price_unit': item2.list_price}),
            ],
        })
        self.so.action_confirm()
        
        self.assertEquals(len(self.so.picking_ids), 1)
        self.so.picking_ids[0].force_assign()
        res_dict = self.so.picking_ids[0].button_validate()
        wizard = self.env[(res_dict.get('res_model'))].browse(res_dict.get('res_id'))
        wizard.process()
        self.assertEquals(self.so.picking_ids[0].state, "done")
        
        self.so.write({
            'order_line': [
                (1, self.so.order_line[0].id, {'product_uom_qty': 2}),
                (1, self.so.order_line[1].id, {'product_uom_qty': 2}),
            ]
        })
        
        self.assertEquals(len(self.so.picking_ids), 2)