Impacted versions:10

Steps to reproduce:
Following the code in https://www.odoo.com/documentation/10.0/api_integration.html both in a fresh install and against 'https://demo.odoo.com/start' trows a type error

Current behavior:
Now I get an error when executing:

```
ids = models.execute_kw(db, uid, password,  'res.partner', 'search',
    [[['is_company', '=', True], ['customer', '=', True]]],
    {'limit': 1})
[record] = models.execute_kw(db, uid, password,
    'res.partner', 'read', [ids])
# count the number of fields fetched by default
len(record)
```

In particular it seems to be a type error (cannot marshal class odoo.tools.float_utils.float_precision)

Expected behavior:
I would expect it to behave as in the documentation

openerp/fields.py
""" Invoke the compute method on ``records``; the results are in cache. """
        with records.env.do_in_draft():
            try:
                self._compute_value(records)
            except (AccessError, MissingError):
                
                for record in records:
                    try:
                        self._compute_value(record)
                    except Exception as exc:
                        record._cache[self.name] = FailedValue(exc)
    def determine_value(self, record):
        """ Determine the value of ``self`` for ``record``. """
        env = record.env
        if self.column and not (self.depends and env.in_onchange):
            
            if self.depends:
                
                recs = record._recompute_check(self)