当将经纬度表示为度分秒(DMS)格式时,经度和纬度的值将被拆分为度、分和秒的组合。下面是一个使用Qt编写的经纬度转度分秒格式的程序示例
#include <QtCore>
// 将度转换为度分秒格式
QString degreesToDMS(double degrees) {
int d = static_cast<int>(degrees);
double remainingMinutes = (degrees - d) * 60;
int m = static_cast<int>(remainingMinutes);
double remainingSeconds = (remainingMinutes - m) * 60;
return QString("%1° %2' %3\"").arg(d).arg(m).arg(remainingSeconds, 0, 'f', 2);
}
int main() {
double latitude = 40.7128; // 经度
double longitude = -74.0060; // 纬度
QString latitudeDMS = degreesToDMS(latitude);
QString longitudeDMS = degreesToDMS(longitude);
qDebug() << "纬度:" << latitudeDMS;
qDebug() << "经度:" << longitudeDMS;
return 0;
}
运行此程序,它将把给定的经纬度转换为度分秒格式并输出。
请注意,此示例假设输入的经纬度是以度为单位的浮点数。函数degreesToDMS将度拆分为度、分和秒,并将它们格式化为"度 分 秒"的字符串。