We have a customer whose base unit for selling stuff is in thousands.  However stock can be as low as 0.001 thousands, but that last decimal place isn't displayed in the stock warning.

As you'll see from the example of "actual behaviour" below this is confusing.

Impacted versions:
- 8.0

Steps to reproduce:
- Install product and sale
- Create a unit of measure with:
  - Name: Thousand(s)
  - Product Category: Unit
  - Type: Bigger than the reference Unit of Measure
  - Bigger Ratio: 1000
  - Rounding Precision: 0.00100
- Create a product 'Widget' with
  - type = Stockable Product
  - UoM = Thousand(s)
- Create a Quotation
- Add to the Sales Order a line
- Choose Product: Widget
- Change Quantity to: 0.001 Thousand(s)

Current behavior:

Configuration Error!

```
Not enough stock ! : You plan to sell 0.00 Thousand(s) but you only have 0.00 Thousand(s) available !
The real stock is 0.00 Thousand(s). (without reservations)
```

Expected behavior:

Configuration Error!

```
Not enough stock ! : You plan to sell 0.001 Thousand(s) but you only have 0.000 Thousand(s) available !
The real stock is 0.000 Thousand(s). (without reservations)
```

_inherit = "sale.order"
    @api.model
    def _default_warehouse_id(self):
        company = self.env.user.company_id.id
        warehouse_ids = self.env['stock.warehouse'].search([('company_id', '=', company)], limit=1)
        return warehouse_ids
    incoterm = fields.Many2one(
        'stock.incoterms', 'Incoterms',
        help="International Commercial Terms are a series of predefined commercial terms used in international transactions.")
    picking_policy = fields.Selection([
        ('direct', 'Deliver each product when available'),
        ('one', 'Deliver all products at once')],
        string='Shipping Policy', required=True, readonly=True, default='direct',
        states={'draft': [('readonly', False)], 'sent': [('readonly', False)]})
    warehouse_id = fields.Many2one(
        'stock.warehouse', string='Warehouse',
        required=True, readonly=True, states={'draft': [('readonly', False)], 'sent': [('readonly', False)]},
        default=_default_warehouse_id)
    picking_ids = fields.Many2many('stock.picking', compute='_compute_picking_ids', string='Picking associated to this sale')
    delivery_count = fields.Integer(string='Delivery Orders', compute='_compute_picking_ids')
    @api.multi
    @api.depends('procurement_group_id')
    def _compute_picking_ids(self):
        for order in self:
            order.picking_ids = self.env['stock.picking'].search([('group_id', '=', order.procurement_group_id.id)]) if order.procurement_group_id else []
            order.delivery_count = len(order.picking_ids)
    @api.onchange('warehouse_id')
    def _onchange_warehouse_id(self):