Написал калькулятор на C#. Поскольку заранее тип слагаемого неизвестен и неизвестны действия, которые будут совершаться, использую тип double.
Все вроде работает, но долго играясь с тестами, совершенно случайно обнаружил следующее:
При сложении двух ЦЕЛЫХ чисел возникает дробная часть. Причина данного явления понятна.
Спасибо. Я в процессе размышлений пришел именно к этому решению. Но ведь это сработает только для сложения, вычитания, умножения.
Что делать с делением так и не придумал.
Еще думаю хранить числа не просто как числа, а в объекте с отдельной целой частью и отдельной дробной. Но тут много сложностей.
Я просто не понимаю, как решается эта проблема там, где требуются точные вычисления.