решение?
const sum = 60 + 0.6 + 0.2
Получаю результат 60.800000000000004
Как бороться или только вариант округления использовать sum.toFixed(2)?
только toFixed()
только учти что toFixed строку возвращает
Потому что А что за вычисления ты проводишь? Что именно считаешь?
Циферки) уже понял. Пофиксил. Все спасибо за ответы. Я конечно наслышан о неточностях рассчета, но не думал что в таких простых примерах это проявляется
А что стоит за цифрами? Если это деньги, то способ решения один, если расчёты физических величин, то другой
Некоторая виличина, которая потом на деньги умножается и получается стоимость. Просто выводить надо и саму цифру и результат.
Непонятно что за величина При работе непосредственно деньгами лучше обходиться целыми числами и хранить всё в мельчайших единицах (копейки, центы). При вычислении процентов появляется нецелое значение, и его надо округлять до этих же мельчайших единиц
Потому что нужно курить матч часть, а не верить в магию
У вас не произошёл матч
Всегда так(
можешь использовать обычные дроби типа 6/10 и тд, тогда вычисления будут целочисленными
я не очень в js шарю, но вообще для этого можно создать класс дробей, определить арифметические операции и тд, либо библиотеки использовать
Обычно при работе с деньгами дробные числа возникают при конвкртациях и вычислениях процентов. Чем тут поможет либа, которая умеет представлять 2/3? И почему не решить эти задачи округлением в тех точках, где возникло нецелое число?
я просто на вопрос ответил, я никогда это решение не применял и не собираюсь, но считаю свой ответ корректным, хоть и бесполезным😎🔫
Это тебе к @blackakula, он у нас специалист по таким вопросам.
звучит страшно)
Эта битва будет вечной
https://stackoverflow.com/a/11832950
надо было его либу сразу советовать
Не, тогда бы он не пришел, если бы я его не тэгнул
Обсуждают сегодня