Есть проблема - иногда клиентам не добавляет копейку.
Например при попытке умножить 299 на 8.655 (доллары и курс) получается 2587.845 . Что бы правильно округлить используется Math.round(x * 100)/100. Проблема возникает тогда, когда умножаешь 2587.845 на 100, получается 258784.49999999997, что при округлении даёт 2587.84.
Посоветуйте пожалуйста каким способом вы решаете эти проблемы? Какая нибудь математическая либа, которая относится к числам как к строкам? mathjs не помогает.
Текущее решение - перенести важные вычисления на более точный бэкэнд.
Код для примера
var x = 299 * 8.655;
console.log(x, Math.round(x * 100)/100, x * 100)
>>> 2587.845, 2587.84, 258784.49999999997