Nicolas Martinelli
a12479aaa8
[FIX] web: rounding error
...
In JavaScript, the following computation introduces numerical errors:
```
Math.pow(10, -4) = 0.00009999999999999999
Math.pow(10, -5) = 0.000009999999999999999
```
In the context of `round_decimals`, such errors propagate to
`round_precision`, ultimately leading to inconsistencies between Python
and JS (see #47300 for detailed use case).
Instead of computing `Math.pow(10, decimals)`, we parse the scientific
notation to prevent such inaccuracies.
We also introduce tests in line with the Python tests.
opw-2205092
closes odoo/odoo#47694
X-original-commit: cb471897bfa08d1fee6a9f49e90d9c120e1733fc
Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com >
2020-03-16 12:01:57 +00:00
..
2020-03-13 14:08:33 +00:00
2020-03-12 14:06:58 +00:00
2020-02-19 09:09:20 +00:00
2020-02-19 09:09:20 +00:00
2020-02-19 09:09:20 +00:00
2020-02-24 11:50:06 +00:00
2020-02-13 16:52:56 +00:00
2020-03-02 06:26:02 +00:00
2020-03-05 14:03:45 +00:00
2020-03-05 14:03:45 +00:00
2020-03-05 14:03:45 +00:00
2020-03-05 14:03:45 +00:00
2020-03-05 14:03:45 +00:00
2020-03-05 14:03:45 +00:00
2020-03-13 14:08:33 +00:00
2020-03-05 14:03:45 +00:00
2020-02-13 11:45:39 +00:00
2020-03-02 06:26:02 +00:00
2020-03-05 14:03:45 +00:00
2020-03-05 14:03:45 +00:00
2020-03-05 14:03:45 +00:00
2020-03-05 14:03:45 +00:00
2020-03-05 14:03:45 +00:00
2020-03-12 12:10:11 +00:00
2020-03-13 08:20:32 +00:00
2020-03-13 14:08:33 +00:00
2020-03-05 14:03:45 +00:00
2020-03-05 14:03:45 +00:00
2020-03-11 16:24:32 +00:00
2020-02-24 14:05:34 +00:00
2020-02-13 08:00:22 +00:00
2020-03-02 06:26:02 +00:00
2020-03-06 10:21:56 +00:00
2020-03-11 16:24:32 +00:00
2020-03-12 12:45:16 +00:00
2020-03-11 10:10:16 +00:00
2020-03-05 14:03:45 +00:00
2020-03-13 10:30:10 +00:00
2020-02-21 09:45:56 +00:00
2020-02-19 09:09:20 +00:00
2020-03-05 14:03:45 +00:00
2020-03-05 14:03:45 +00:00
2020-03-13 14:08:33 +00:00
2020-03-13 14:08:33 +00:00
2020-03-13 09:59:06 +00:00
2020-02-12 09:32:17 +00:00
2020-03-13 09:27:17 +00:00
2020-03-11 10:10:16 +00:00
2020-03-05 14:03:45 +00:00
2020-03-06 12:43:06 +00:00
2020-03-04 09:02:53 +00:00
2020-02-13 11:45:39 +00:00
2020-03-06 16:07:21 +00:00
2020-02-19 09:02:56 +00:00
2020-03-11 16:24:32 +00:00
2020-02-13 11:45:39 +00:00
2020-03-05 14:03:45 +00:00
2020-03-05 14:03:45 +00:00
2020-02-13 11:45:39 +00:00
2020-03-02 09:01:11 +00:00
2020-03-05 14:03:45 +00:00
2020-03-05 14:03:45 +00:00
2020-03-05 14:03:45 +00:00
2020-03-05 16:47:34 +00:00
2020-02-28 15:16:17 +00:00
2020-03-05 14:03:45 +00:00
2020-03-13 14:08:33 +00:00
2020-03-05 14:03:45 +00:00
2020-03-13 07:56:43 +00:00
2020-03-05 14:03:45 +00:00
2020-03-05 14:03:45 +00:00
2020-03-05 14:03:45 +00:00
2020-02-19 09:09:20 +00:00
2020-03-05 14:03:45 +00:00
2020-03-05 14:03:45 +00:00
2020-03-05 14:03:45 +00:00
2020-03-11 10:32:47 +00:00
2020-03-13 10:28:57 +00:00
2020-03-10 07:55:23 +00:00
2020-03-05 14:03:45 +00:00
2020-03-05 14:03:45 +00:00
2020-03-05 14:03:45 +00:00
2020-03-05 14:03:45 +00:00
2020-03-11 16:52:58 +00:00
2020-03-05 14:03:45 +00:00
2020-03-05 14:03:45 +00:00
2020-03-05 14:03:45 +00:00
2020-03-05 14:03:45 +00:00
2020-03-05 14:03:45 +00:00
2020-03-05 14:03:45 +00:00
2020-03-05 14:03:45 +00:00
2020-03-05 14:03:45 +00:00
2020-03-05 14:03:45 +00:00
2020-03-09 15:50:39 +00:00
2020-03-05 09:49:15 +00:00
2020-03-05 14:03:45 +00:00
2020-03-05 14:03:45 +00:00
2020-03-16 11:26:49 +00:00
2020-03-05 14:03:45 +00:00
2020-03-05 14:03:45 +00:00
2020-03-05 14:03:45 +00:00
2020-03-05 14:03:45 +00:00
2020-03-05 14:03:45 +00:00
2020-03-05 14:03:45 +00:00
2020-03-05 14:03:45 +00:00
2020-03-05 14:03:45 +00:00
2020-03-05 14:03:45 +00:00
2020-03-05 14:03:45 +00:00
2020-03-12 13:47:36 +00:00
2020-03-05 14:03:45 +00:00
2020-03-05 14:03:45 +00:00
2020-03-10 14:54:42 +00:00
2020-03-05 14:03:45 +00:00
2020-03-05 14:03:45 +00:00
2020-03-05 14:03:45 +00:00
2020-03-13 15:02:26 +00:00
2020-03-05 14:03:45 +00:00
2020-03-05 14:03:45 +00:00
2020-03-05 14:03:45 +00:00
2020-03-05 14:03:45 +00:00
2020-03-05 14:03:45 +00:00
2020-03-05 14:03:45 +00:00
2020-03-05 14:03:45 +00:00
2020-03-05 14:03:45 +00:00
2020-03-05 14:03:45 +00:00
2020-03-05 14:03:45 +00:00
2020-03-05 14:03:45 +00:00
2020-03-05 14:03:45 +00:00
2020-03-05 14:03:45 +00:00
2020-03-05 14:03:45 +00:00
2020-03-05 14:03:45 +00:00
2020-03-05 14:03:45 +00:00
2020-03-05 14:03:45 +00:00
2020-03-05 14:03:45 +00:00
2020-03-05 14:03:45 +00:00
2020-03-05 14:03:45 +00:00
2020-03-05 14:03:45 +00:00
2020-03-05 14:03:45 +00:00
2020-03-05 14:03:45 +00:00
2020-03-13 15:02:26 +00:00
2020-03-11 16:05:07 +00:00
2020-03-13 14:08:33 +00:00
2020-03-13 14:08:33 +00:00
2020-03-05 14:03:45 +00:00
2020-03-06 14:27:02 +00:00
2020-02-13 11:45:39 +00:00
2020-02-13 11:45:39 +00:00
2020-02-19 09:09:20 +00:00
2020-02-13 11:45:39 +00:00
2020-03-05 11:04:49 +00:00
2020-03-02 06:26:02 +00:00
2020-03-13 15:25:19 +00:00
2020-02-13 11:45:39 +00:00
2020-03-04 16:07:47 +00:00
2020-03-02 17:06:25 +00:00
2020-03-05 14:03:45 +00:00
2020-03-05 14:03:45 +00:00
2020-03-05 14:03:45 +00:00
2020-03-05 14:03:45 +00:00
2020-03-05 14:03:45 +00:00
2020-03-05 14:03:45 +00:00
2020-03-11 12:25:06 +00:00
2020-03-05 14:03:45 +00:00
2020-03-05 14:03:45 +00:00
2020-03-05 14:03:45 +00:00
2020-03-05 14:03:45 +00:00
2020-03-05 14:03:45 +00:00
2020-03-06 17:45:16 +00:00
2020-03-05 14:03:45 +00:00
2020-03-05 14:03:45 +00:00
2020-03-05 14:03:45 +00:00
2020-03-06 15:53:22 +00:00
2020-03-05 14:03:45 +00:00
2020-03-02 06:26:02 +00:00
2020-03-12 11:23:08 +00:00
2020-03-06 16:15:44 +00:00
2020-03-06 16:15:44 +00:00
2020-03-05 14:03:45 +00:00
2020-03-05 14:03:45 +00:00
2020-03-05 14:03:45 +00:00
2020-03-05 14:03:45 +00:00
2020-03-05 14:03:45 +00:00
2020-02-24 15:22:40 +00:00
2020-03-05 14:03:45 +00:00
2020-03-05 14:03:45 +00:00
2020-03-05 14:03:45 +00:00
2020-03-05 14:03:45 +00:00
2020-03-13 14:08:33 +00:00
2020-02-19 09:09:20 +00:00
2020-03-05 14:03:45 +00:00
2020-03-03 12:18:51 +00:00
2020-02-13 11:45:39 +00:00
2020-03-11 16:24:32 +00:00
2020-03-06 09:16:16 +00:00
2020-03-05 14:03:45 +00:00
2020-03-11 10:10:16 +00:00
2020-03-11 13:40:53 +00:00
2020-03-11 16:54:05 +00:00
2020-03-13 11:26:09 +00:00
2020-02-27 13:10:02 +00:00
2020-03-06 09:16:16 +00:00
2020-03-02 06:26:02 +00:00
2020-03-16 08:26:57 +00:00
2020-03-09 14:33:25 +00:00
2020-02-19 09:09:20 +00:00
2020-03-11 16:24:32 +00:00
2020-02-28 10:47:15 +00:00
2020-02-13 11:45:39 +00:00
2020-03-05 16:02:38 +00:00
2020-03-11 10:10:16 +00:00
2020-03-11 10:10:16 +00:00
2020-02-13 11:45:39 +00:00
2020-02-13 11:45:39 +00:00
2020-03-10 08:53:10 +00:00
2020-03-05 14:31:13 +00:00
2020-03-05 14:03:45 +00:00
2020-03-02 15:56:16 +00:00
2020-02-21 10:40:34 +00:00
2020-02-20 14:51:13 +00:00
2020-03-05 11:27:01 +00:00
2020-03-05 14:03:45 +00:00
2020-03-05 14:03:45 +00:00
2020-03-13 14:08:33 +00:00
2020-03-13 08:37:26 +00:00
2020-03-05 14:03:45 +00:00
2020-03-04 16:07:47 +00:00
2020-03-05 13:32:57 +00:00
2020-02-24 11:53:11 +00:00
2020-03-09 09:41:13 +00:00
2020-02-08 18:55:15 +00:00
2020-03-12 13:54:32 +00:00
2020-03-05 11:27:01 +00:00
2020-02-25 13:46:10 +00:00
2020-03-05 14:03:45 +00:00
2020-03-05 14:03:45 +00:00
2020-03-05 14:03:45 +00:00
2020-03-06 09:20:01 +00:00
2020-03-06 09:20:01 +00:00
2020-03-05 14:03:45 +00:00
2020-03-05 14:03:45 +00:00
2020-03-02 06:26:02 +00:00
2020-03-02 06:26:02 +00:00
2020-03-16 12:01:57 +00:00
2020-03-13 09:37:29 +00:00
2020-03-13 11:39:53 +00:00
2020-03-04 14:31:06 +00:00
2020-03-13 14:08:33 +00:00
2020-03-11 10:10:16 +00:00
2020-02-13 15:29:40 +00:00
2020-02-13 11:45:39 +00:00
2020-03-06 20:04:05 +00:00
2020-02-13 15:29:40 +00:00
2020-03-06 20:04:05 +00:00
2020-03-12 12:45:16 +00:00
2020-03-10 11:15:09 +00:00
2020-03-10 11:15:09 +00:00
2020-03-10 11:15:09 +00:00
2020-03-06 16:25:34 +00:00
2020-02-13 11:45:39 +00:00
2020-02-28 08:58:43 +00:00
2020-03-02 15:18:29 +00:00
2020-03-06 11:10:48 +00:00
2020-02-13 15:29:00 +00:00
2020-02-27 16:54:25 +00:00
2020-02-18 16:04:11 +00:00
2020-02-13 11:45:39 +00:00
2020-03-13 13:43:13 +00:00
2020-02-13 11:45:39 +00:00
2020-03-13 14:08:33 +00:00
2020-03-09 16:31:02 +00:00
2020-02-14 12:45:57 +00:00
2020-02-27 12:19:24 +00:00
2020-02-13 11:45:39 +00:00
2020-03-09 11:53:29 +00:00
2020-03-12 08:31:19 +00:00
2020-03-12 08:30:16 +00:00
2020-03-05 14:03:45 +00:00
2020-03-05 14:03:45 +00:00
2020-02-13 15:29:40 +00:00