QString Widget::longLatToStr(double value)
{
QString strValue;
int degrees = qFloor(value); //度 (向下取整)
double dRemind = value - degrees;
int minutes = qFloor(dRemind * 60); //分
double fRemind = dRemind * 60 - minutes;
int seconds = fRemind * 60; //秒
strValue = QString::number(degrees) + "°" + QString::number(minutes) + "′" + QString::number(seconds) + "″";
qDebug()<<value<<"--to--"<<strValue;
return strValue;
}
double Widget::strToLongLat(QString value)
{
double dValue = 0;
int dd = value.split("°").at(0).toInt();
QString strMM = value.split("°").at(1);
double ddxs =strMM.split("′").at(0).toDouble();
QString strSS = value.split("′").at(1);
double mmxs = strSS.remove("″").toDouble() / 60;
double mm =(mmxs +ddxs) / 60;
dValue = dd+mm;
qDebug()<<value<<"--to--"<<dValue;
return dValue;
}