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)
```

addons/sale_stock/models/sale_order.py
if not self.product_id or not self.product_uom_qty or not self.product_uom:
            self.product_packaging = False
            return {}
        if self.product_id.type == 'product':
            precision = self.env['decimal.precision'].precision_get('Product Unit of Measure')
            product_qty = self.env['product.uom']._compute_qty_obj(self.product_uom, self.product_uom_qty, self.product_id.uom_id)
            if float_compare(self.product_id.virtual_available, product_qty, precision_digits=precision) == -1:
                is_available = self._check_routing()
                if not is_available:
                    warning_mess = {
                        'title': _('Not enough inventory!'),
                        'message' : _('You plan to sell %.2f %s but you only have %.2f %s available!\nThe stock on hand is %.2f %s.') % \
                            (self.product_uom_qty, self.product_uom.name, self.product_id.virtual_available, self.product_id.uom_id.name, self.product_id.qty_available, self.product_id.uom_id.name)
                    }
                    return {'warning': warning_mess}
        return {}
    @api.onchange('product_uom_qty')
    def _onchange_product_uom_qty(self):
        if self.state == 'sale' and self.product_id.type in ['product', 'consu'] and self.product_uom_qty < self._origin.product_uom_qty:
            warning_mess = {
                'title': _('Ordered quantity decreased!'),
                'message' : _('You are decreasing the ordered quantity! Do not forget to manually update the delivery order if needed.'),
            }
            return {'warning': warning_mess}
        return {}
    @api.multi
    def _prepare_order_line_procurement(self, group_id=False):