Форматирование десятичной и ди git вместе - PullRequest
1 голос
/ 01 апреля 2020

Я бы хотел перевести градусы в дмс. Я написал код, но вывод не так, как я хочу.

Я тоже хочу 2 di git se c. Вместо 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 ''

1 Ответ

1 голос
/ 01 апреля 2020

Попробуйте использовать:

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

Пояснение

%08.5f отформатирует ваш float с нулями заполнения (0), всего 8 цифр (вкл. . и -) и показывают 5 цифры после десятичной точки.

...