ну да, скорее всего дело в представлении double числа.. и от чего это точность зависит? от архитектуры процессора? (интересно, для общего пониманию
).
Для описания чисел есть всякие стандарты, например
IEEE 754-2008. Аппаратные и программные средства должны соответствовать заданным стандартам.
И тогда решением данной задачи будет хранить числа в тексте QLineEdit + писать всякие range и валидаторы к нему..?
Так сразу не могу сказать, можно попробовать хранить данные в типе "long double", но там тоже свои ограничения по точности представления. И нужно ещё убедиться, что функции преобразования из/в строку работают именно с "long double", а не преобразуют неявно в "double".
Вообще, в данном случае возможно требуется тип "decimal", как
BigDecimal в Java. Но сейчас в стандарте С++ подобного типа нет, нужно шариться по 3rdparty библиотекам. Есть техническая спецификация
Numbers TS, но до её внедрения в стандарт ещё дожить надо
.