python - 在 Python 中将 DD(十进制度)转换为 DMS(度分秒)?

标签 python angle degrees format-conversion unit-conversion

如何在 Python 中将十进制度数转换为度分秒?是否已经编写了公式?

最佳答案

这正是 divmod 的发明目的:

def decdeg2dms(dd):
    mult = -1 if dd < 0 else 1
    mnt,sec = divmod(abs(dd)*3600, 60)
    deg,mnt = divmod(mnt, 60)
    return mult*deg, mult*mnt, mult*sec

dd = 45 + 30/60 + 1/3600
print(decdeg2dms(dd))

# negative value returns all negative elements
print(decdeg2dms(-122.442))

打印:

(45.0, 30.0, 1.0)
(-122.0, -26.0, -31.199999999953434)

关于python - 在 Python 中将 DD(十进制度)转换为 DMS(度分秒)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2579535/

相关文章:

python - 是否可以在不改变位置的情况下重命名字典中的键?

javascript - 当球与矩形碰撞时如何改变 Angular ?

java - 四元数 "regular rotation"在转换为轴角时给出陌生人值

swift - 计算圆边 Swift SpriteKit 两点之间的角度

python - django查询-如何在不同期间获取最新行

python - 将 numpy 数组转换为 rgb 图像

python - 递归使用带有 python 3.5 的请求时出错(GooglePlaces API)

HTML5 Canvas 在 Google Chrome 中旋转 - 渲染效果很糟糕

android - 旋转二维图像onclick android

r - 将弧度转换为度数/度数转换为弧度