У меня в проекте появилась проблема, (Javascript)
У меня есть очень маленькое число k, на которое домножаются другие числа.
Так получается что погрешность при умножении выявляется уже знаке на 5-6, причем она разная на разных движках JS!?
Если я заменю очень маленькое число k большим (и возможно стоит его округлить до целого?) и, буду вместо умножения на него чисел, делить на него я учучшу точность?
Я много раз использовал такое, но в данном случае мне это не подходит, так как я получаю числа в float'ах и при переводе все равно будет погрешность, только добавится велосипед. Мне больше нужен ответ на вопрос сработает ли моя идея с подменой делением.
Если вам действительно нужны точные вычисления, особенно в случае с деньгами - используйте специальнеые типы данных или длинную арифметику.
Если вам просто не хочется видеть эти длинные дробные числа - округляйте перед отображением.
Можно конечно увеличить ваше маленькое число в тысячу раз, миллион, или сколько вам нужно, потом
произвести вычисления и результат разделить. Не уверен, добавится ли точность, но придется следить, чтоб не вылететь за верхний предел :)
Формат с плавающей запятой по идее не должен страдать от описанной проблемы.
Вы можете привести пару реальных чисел и результаты их умножения на разных JS-движках ?