получать правильный ответ?
округлять?
https://t.me/js_ru/309233, не?
Надо не округлять, а получать точные ответы, вплоть до 0.0020001101
js не предназначен для точных вычилений на сколько я знаю
В pyton такая же проблема
к примеру есть билиотека https://github.com/ericelliott/moneysafe
нужно сделать их целыми, а потом результат разделить
например 0.01 + 0,00001. Правое имеет больше знаков - значит сначала умножаем оба на 100000. Потом складываешь. А уже сумму делишь обратно
А ты не знаешь, на сколько умножать, может быть число 0.2939294737378883 + 3.83838
отсчитывай знаки слева
Окей, напиши функцию, которая правильно посчитает числа любые.
сам пиши. Я тебе подкинул идею
Не рабочую.
а ты не пробовал просто посмотреть как это сделанно в либах?
ну раз ты не благодарный - то чтоб у тебя всё не работало
При чем тут "не благодарный"?) Я просто написал, что твоя идея обречена на провал, вот и все.
BigInt поди хватит кстати
я сам таким подходом пользуюсь и он рабочий
Потому что тебе не нужен в финансах ответ вида 37.473838382828
да, максимум 4 знака у меня после запятой
Ну думаю тогда хранить числа в строках, а при сложении можно было бы считать позицию запятой, сохранять её, реплейсить, преобразовывать строку в массив, что б каждая цифра была отдельным элементом, а потом по аналогии добавления в столбик плюсовать элементы на соответствующих позициях, так как это целые числа будут, погрешность не должна возникать, а по окончанию всех операций вернуть запятую на нужное место и обратно преобразовать в строку
ну это гемор, но ответ верный.
Обсуждают сегодня