касается денег?
(0.1 * 10 + 0.2 * 10) / 10
использовать BigInt ?
Если в рублях, можно всегда считать в целом числе количество копеек
А если кто-то забудет такое сделать?
О если у нас есть тысячные? Ну например мы банк считаем сложный процент, там будут очень маленькие доли копеек
обычно используют миллиардные доли копеек
Так это проблема любого языка программирования
Банки разве оперируют долями копеек? Там, вроде бы, всегда округление идёт
Я как-то встречал мнение, что деньги лучше хранить в дробных единицах типа копеек, центов и так далее, а на фронте выводить в нужном формате
округление до долей копеек
Если у банка есть округление до долей копеек, значит есть и правила такого округления. Соответственно, математику нужно реализовать в соответствии с этими конкретными правилами
Просто пхп считать не умеет)))))
Ну так же как в JS и в любом другом языке программирования
Получается, это люди неправильно считают. Компьютер умный, он не может ошибаться
Округлять через .toFixed(2)
никто в здравом уме float-ы для денег не использует
А что используют?
специально созданные для этого структуры
Это не ошибка а нормальное поведение. Бинарное сложение чисел
Ещё один
Вот так это
Не язык а компилятор
Такой способ не сработает, если будут сотые, а в расчётах они есть.
Считать как два разных инта числа до запятой и после)
Не хранить деньги во флоатах, очевидно
Обсуждают сегодня