def decimal2dm(decimal_degrees):
"""
Converts a floating point number of degrees to the degress & minutes.
Returns a 2-element tuple of decimals.
If 'decimal_degrees' is negative, only degrees (1st element of returned
tuple) will be negative, minutes (2nd element) will always be positive.
Example:
>>> decimal2dm(121.135)
(Decimal('121'), Decimal('8.100'))
>>> decimal2dm(-121.135)
(Decimal('-121'), Decimal('8.100'))
"""
degrees = D(int(decimal_degrees))
minutes = libdecimal.getcontext().multiply(
(D(str(decimal_degrees)) - degrees).copy_abs(), D(60))
return (degrees, minutes)
评论列表
文章目录