一起格式化小数和数字

Formating decimal and digit together

我想将学位转换为 dms。我写了一个代码,但输出不是我想要的。

我想要 2 位数秒,too.Instead 的 3.56895,我想要 03.56895。

我的代码:

def degree2dms(degree):
    int_degree = int(degree)
    degree_decimal = degree - int_degree
    min_part = degree_decimal *60
    min = int(min_part)
    sec_part = min_part-min
    sec = sec_part *60
    if sec == 60:
        sec =0
        min+=min
    if min ==60:
        min = 0    
        degree += degree

    sec = round(sec,5)

    return "%03d°%02d'%02.5f''"% (int_degree,min,sec)

输出结果为:036°06'8.54578'', 034°03'5.55987''

我想要的输出:036°06'08.58975'', 034°03'05.58900''

尝试使用:

return "%03d°%02d'%08.5f''"% (int_degree,min,sec)

说明

%08.5f 将使用填充零 (0) 格式化您的 float 总共 8 位数字(包括 .-) 并在小数点后显示 5 位数字。