Ввод дробного числа и его обработка

Здравствуйте! Сразу скажу что я C++ не изучала, мой язык Java.
Делаю проект и там мне необходимо вводить с помощью кнопок дробное число (я это успешно реализовала двумя даже способами - сразу строкой и массивом int)
После получения верных данных у меня возникла проблема с переводом их в double. Первоначальный вариант был такой - из массива int создать дробное число, путем сложения каждого числа с другим, при этом каждое последующее делить на степень 10.
Пример:
Массив: {2, 0, 1, 3, 2, 4} // при этом число под индексом 1 мы пропускаем, не берите в голову
Дробное число = 2 + 1 / 10 + 3 / 100 + 2 / 1000 + 4 / 10000;
И вроде всё должно было бы работать, но нет - остается только два знака после запятой, а мне важна точность до 4 знаков.

Со String в общем та же проблема - через {имя переменной типа String}.toDouble() число переводиться до 2 знаков после запятой.

Я видела некоторые решения этой проблемы с использованием библиотек и , но в Arduino IDE их нет, добавить я их не смогла - не нашла эти библиотеки в формате .zip, все пишут только о том что эти библиотеки должны быть по умолчанию.

Подскажите пожалуйста способ как добиться сохранения точности при переводе типов или как присоединить эти библиотеки :pray:
Буду очень благодарна!

Библиотеки которые не удаётся установить - iostream и sstream

Точность не теряется, это просто формат вывода на экран. В жаве все то же самое

Как ты понимаешь, что 2 знака? Если вдруг читать умеешь, здесь почитай

Приведи минимальный пример, повторяющий «проблему».

Пункт №1 опубликовать проблемный код (как можно более короткий).
Пункт №2 а там посмотрим

Спасибо, оказывается ответ был так прост… Просто я вчера читала о вещественных чисел в интернете, там было огромное количество информации по типу это такая особенность, часть теряется. Видимо не стоило до часу ночи сидеть. Утро вечера мудренее :grin: