首页 > 其他分享 >qt 度分秒和点度转换

qt 度分秒和点度转换

时间:2023-06-07 10:24:10浏览次数:44  
标签:nDegree 分秒 qt double dbDegree 点度 strTemp QString dbMin

度分秒和点度互转

QString 字符串截取

 1 QString degree2Dmc(double dbDegree)
 2 {
 3     double lon = dbDegree;
 4     if (lon < 0.0)
 5         lon = -dbDegree;
 6     int nDegree = (int)lon;
 7     double dbMin = (lon - nDegree) * 60.0;
 8     int nMin = dbMin;
 9     double sec = (dbMin - (int)dbMin) * 60.0;
10 
11     if (dbDegree < 0.0)
12     {
13         nDegree = -nDegree;
14     }
15         
16     QString textLon = QString(tr("%1%2%3\'%4\"")).arg(nDegree).arg('\xb0').arg(nMin).arg(sec, 0, 'f', 2);
17     return textLon;
18 }
19 
20 double Dmc2Degree(QString strDmc)
21 {
22     QString strTemp = strDmc;
23     
24     QString strSec = "";
25     QString strMin = "";
26     QString strDegree = "";
27 
28     int nDegree = strTemp.indexOf("°");
29     if (nDegree != -1)
30     {
31         strDegree = strTemp.left(nDegree);
32         strTemp = strTemp.mid(nDegree + 1);
33     }
34 
35     int nMin = strTemp.indexOf('\'');
36     if (nMin != -1)
37     {
38         strMin = strTemp.left(nMin);
39         strTemp = strTemp.mid(nMin + 1);
40     }
41 
42     int nSec = strTemp.indexOf('\"');
43     if (nSec != -1)
44     {
45         strSec = strTemp.left(nSec);
46     }
47 
48     double dbDegree = strDegree.toDouble();
49     double dbMin = strMin.toDouble();
50     double dbSec = strSec.toDouble();
51 
52     double dbRet;
53     if (dbDegree < 0.0)
54     {
55         dbDegree = -dbDegree;
56         dbRet = -(dbDegree + dbMin / 60.0 + dbSec / 3600.0);
57     }
58     else
59     {
60         dbRet = dbDegree + dbMin / 60.0 + dbSec / 3600.0;
61     }
62 
63     return dbRet;
64 }

 

标签:nDegree,分秒,qt,double,dbDegree,点度,strTemp,QString,dbMin
From: https://www.cnblogs.com/warmlight/p/17462576.html

相关文章

  • qt 自定义工具栏
    自定义工具栏这个类中杂质较多,主要是是单击标签改变经纬度显示类型。调用方法,在析构函数中删除if(_statusBar)delete_statusBar;voidMainWindow::createStatusBar(){if(!_statusBar)_statusBar=newTDStatusBar(this);_statusBar->setFixe......
  • qt安装
            ......
  • 统信UOS系统开发笔记(三):从Qt源码编译安装之编译安装Qt5.12.8
    前言  上一篇,是使用Qt提供的安装包安装的,有些场景需要使用到自己编译的Qt,所以本篇如何在统信UOS系统上编译Qt5.12.8源码。<br>统信UOS系统版本  系统版本:  Qt源码下载  参考博文《获取下载Qt安装包,Qt源码全国网址备忘录(不用注册Qt账户,即可下载各版本Qt安装包和Qt源......
  • Odoo集成MQTT
    文件结构MQTT客户端importpaho.mqtt.clientasmqttclient_dict={}importlogging_logger=logging.getLogger(__name__)classMQTTClient(object):def__init__(self,client_id,protocol,broker,port,username,password):self.client_id=......
  • 饶派杯 XCTF 车联网挑战赛 mqttsvr 复现
    前言IDA和Ghidra对mips64架构的识别貌似不是很友好,赛场上由于反编译实在难看,所以很难静下心来去逆,于是赛后在期末考试前稍微花点时间做了一下复现。准备checksec一下,发现是mips64大端,没开CanaryRELRO,可以溢出,可以覆写got表,这里开了NX和PIE,NX对mips64这种异架构来说好像并不会......
  • Qt迭代器(Java类型和STL类型)详解
    迭代器为访问容器类里的数据项提供了统一的方法,Qt有两种迭代器类:Java类型的迭代器和STL类型的迭代器。两者比较,Java类型的迭代器更易于使用,且提供一些高级功能,而STL类型的迭代器效率更高。 Java类型迭代器对于每个容器类,有两个Java类型迭代器:一个用于只读操作,一个用于......
  • Qt多窗口编程详解
    常用的窗体基类是QWidget、QDialog和QMainWindow,在创建GUI应用程序时选择窗体基类就是从这3个类中选择。QWidget直接继承于QObject,是QDialog和QMainWindow的父类,其他继承于QWidget的窗体类还有QSplashScreen、QMdiSubWindow和QDesktopWidget。另外还有一个类Q......
  • 单片机+WiFi模块和主流物联网平台实现MQTT协议通信视频教程
    单片机+WiFi模块和主流物联网平台实现MQTT协议通信视频教程1、单片机+WiFi模块和阿里云物联网平台实现MQTT协议通信视频教程单片机+WiFi模块和阿里云物联网平台实现MQTT协议通信,阿里云物联网平台可以对单片机数字量输出、保持寄存器进行设置操作,单片机可以实时上报数字量输入、数......
  • Qt编写视频监控系统78-视频推流到流媒体服务器
    一、前言视频推流作为独立的模块,目前并没有集成到视频监控系统中,目前是可以搭配监控系统一起使用,一般是将添加好的摄像头通道视频流地址打开后,读取视频流重新推到流媒体服务器,然后第三方可以从流媒体服务器拉取视频流地址,相当于订阅分发,可以多路,按照需要处理,谁需要谁就去订阅拉取......
  • qt 中的画图
     ......