decimal_degrees.py 文件源码

python
阅读 27 收藏 0 点赞 0 评论 0

项目:apex 作者: Syncleus 项目源码 文件源码
def decimal2dms(decimal_degrees):
    """ Converts a floating point number of degrees to the equivalent
    number of degrees, minutes, and seconds, which are returned
    as a 3-element tuple of decimals. If 'decimal_degrees' is negative,
    only degrees (1st element of returned tuple) will be negative,
    minutes (2nd element) and seconds (3rd element) will always be positive.

    Example:

        >>> decimal2dms(121.135)
        (Decimal('121'), Decimal('8'), Decimal('6.000'))
        >>> decimal2dms(-121.135)
        (Decimal('-121'), Decimal('8'), Decimal('6.000'))

    """

    degrees = D(int(decimal_degrees))
    decimal_minutes = libdecimal.getcontext().multiply(
        (D(str(decimal_degrees)) - degrees).copy_abs(), D(60))
    minutes = D(int(decimal_minutes))
    seconds = libdecimal.getcontext().multiply(
        (decimal_minutes - minutes), D(60))
    return (degrees, minutes, seconds)
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号