Я пишу простой инструмент в Qt, который читает данные из двух файлов GPX (XML) и объединяет их определенным образом. Я протестировал свой инструмент с треками, которые содержат путевые точки с точностью до 6 десятичных знаков. Когда я читаю их из файла GPX, точность уменьшается до 4 десятичных цифр (округляется правильно). Так, например, этот оригинальный тег:
<trkpt lat="61.510656" lon="23.777735">
превращается в это, когда мой инструмент пишет это снова:
<trkpt lat="61.5107" lon="23.7777">
Вывод отладки показывает потерю точности в этой строке:
double lat = in.attributes().value("", "lat").toString().toDouble();
но я не понимаю почему. in
- это QXmlStreamReader
чтение из дескриптора текстового файла.