Раньше была такая ситуация, что при сумироваий различных чисел Javascript не правильно их рассчитал.
Так как неправильность рассчетев в основном легла на
11-13 знаков после запятой, то решением было округлить числа до
10 знаков после запятой.
Пример кода
function bookSum(books) {
let sum = books.map((book) => book.price).reduce((acc, price) => acc + price, 0)
return Number(sum.toFixed(10));
}
Но вот недавно возникла такая ситуация, что неправильно выдает 9`ый знак после запятой.
4753632.03+1928767.61+1039533.49+49312.87
// Javascript calculator = 7771246.000000001
// Google calculator = 7771246
Существует ли идеальный способ решить данную проблему ?
Edit:
Да согласен данную проблему трудно решить, а иногда и невозможно.
Но как хотя бы добиться до десятой точности(10 правильных знаков после запятой) ?
Как в этом случае Google Calculator правиьно рассчитал ?