首页| 论坛| 消息
主题:Qt/C++开发经验小技巧316-320
liudianwu发表于 2025-07-26 07:25
316. 将QPointF转成经纬度坐标字符串的时候,默认会丢失精度,导致计算错误,尤其是在转换成经纬度坐标的时候,可以发现偏差很大,所以在转换的时候需要指定精度。
```cpp
QPointF p(1.23456789, 2.3456789);
QString p1 = QString("%1,%2").arg(p.x()).arg(p.y());
QString p2 = QString("%1,%2").arg(p.x(), 0, 'f', 10).arg(p.y(), 0, 'f', 10);
qDebug() setStyleSheet("combobox-popup:0;");
319. 将字符串的浮点数转换成整型,会出现不可预期的结果,比如可能转换失败结果是0,不要以为这个转换会给你自动取整,其实不会的,除非本身是整型的字符串,这种规则只有在强类型的语言(比如c++/java)中才有,在弱类型的语言(比如js/python)中结果是正常的。这个规则要特别注意,那如果要正常转换怎么办?可以先转成浮点数再转整型即可。
```cpp
QString s = "12.563";
//结果输出0
qDebug()

浏览大图

浏览大图

浏览大图

浏览大图
回帖(0):

全部回帖(0)»
最新回帖
收藏本帖
发新帖