我正在 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
从文本文件句柄读取。