Вы не можете.Это нормальное поведение конечной арифметики (целое и с плавающей запятой).
Даже если вы добавите большое количество десятичных знаков, вы все равно потеряете точность.
Это типичный случай округлениясчета-фактуры.Например, у вас есть счет на общую сумму 100,00 долларов, который нужно разделить на 3 пункта.Вы получаете три предмета $100.00 / 3.0
каждый.То есть:
- 33,33 $ Позиция № 1.
- 33,33 $ Позиция № 2.
- $ 33,33 Позиция № 3.
- Всего на... $ 99,99!(не те 100,00 долл., которые вы ожидали).
Известное решение для возрастов в настоящее время состоит в том, чтобы отрегулировать одно или несколько значений, чтобы добавить или уменьшить их на один цент.В этом случае вы могли бы добавить 1 цент к последнему предмету, чтобы получить:
- 33,33 доллара за № 1.
- 33,33 $ за пункт № 2.
- $ 33,34 за элемент# 3.
- Всего на ... $ 100,00!Идеальный.
Существует несколько возможных комбинаций (все действительные) для настройки этих значений.Вот как это делается в бухгалтерском учете.