Or this...
def dd_dmm(dd, cal_long=True):
"""decimal degrees to deg dec min"""
deg = int(dd)
if deg < 0:
quad = ['S', 'W'][cal_long]
deg = abs(deg)
else:
quad = ['N', 'E'][cal_long]
minsec = divmod((deg - dd)*60, 60)[-1]
frmt = "{} {:0.2f} {}".format(deg, minsec, quad)
return frmt
dd_dmm(-45.5, True)
dd_dmm(45.5, True)
dd_dmm(-45.5, False)
dd_dmm(45.5, False)
Or with degree symbol
def dd_dmm(dd, cal_long=True):
"""decimal degrees to deg dec min"""
deg_sign = u'\N{DEGREE SIGN}'
deg = int(dd)
if deg < 0:
quad = ['S', 'W'][cal_long]
deg = abs(deg)
else:
quad = ['N', 'E'][cal_long]
minsec = divmod((deg - dd)*60, 60)[-1]
frmt = "{}{} {:0.2f}' {}".format(deg, deg_sign, minsec, quad)
return frmt