Страница 1 из 2 12 ПоследняяПоследняя
Показано с 1 по 10 из 12

Тема: Хотел узнать, как убрать незначащие нули в python

  1. Хотел узнать, как убрать незначащие нули в python

    Здоров, ребзя! Подскажите, как убрать незначащие нули в python? Пишу тут код, и надо укоротить вывод чисел, чтобы никому глаза не мазолить этими нулями в конце числа. Кто-нибудь сталкивался с таким и знает как культурно от них избавиться в пайтоне? Буду рад любому совету, а если кодом поделитесь, вообще огонь!



  2. Ждём вас в нашем чате в Телеграмм ==>> @pythoneer_chat

    А ТАКЖЕ: Канал о Python, статьи и книги ==>>
    @pythoneer_ru

  3. Привет! Есть простой способ убрать незначащие нули с помощью метода format. Вот так можно сделать:

    Программный код:
    num 123.450
    formatted_num 
    '{0:.5f}'.format(num).rstrip('0').rstrip(',')
    print(
    formatted_num
    Этот код сначала форматирует число с пятью знаками после запятой, а потом удаляет все нули и запятые, стоящие в конце.

  4. Цитата Сообщение от Алина
    Привет! Есть простой способ убрать незначащие нули с помощью метода format. Вот так можно сделать:

    Программный код:
    num 123.450
    formatted_num 
    '{0:.5f}'.format(num).rstrip('0').rstrip(',')
    print(
    formatted_num
    Этот код сначала форматирует число с пятью знаками после запятой, а потом удаляет все нули и запятые, стоящие в конце.
    О, я тоже так делаю! Правда, иногда ещё полезно использовать регулярки, но это уже более тяжёлая артиллерия. Как думаешь, что лучше в плане производительности?

  5. Да, regex-мощь! А вот посмотри на этот вариант, где используется регулярное выражение:

    Программный код:
    import re
    num 
    123.4500
    formatted_num 
    re.sub(r'(\.0+|(?<=\.\d)0+)$'""str(num))
    print(
    formatted_num
    Этот вариант уберет нули при помощи регулярки.

  6. Цитата Сообщение от ОльгаKS
    Да, regex-мощь! А вот посмотри на этот вариант, где используется регулярное выражение:

    Программный код:
    import re
    num 
    123.4500
    formatted_num 
    re.sub(r'(\.0+|(?<=\.\d)0+)$'""str(num))
    print(
    formatted_num
    Этот вариант уберет нули при помощи регулярки.
    О, круто, что тут регулярки использовал. Интересно, конечно, коду чуть больше, но эффект тот же. Кто-то мерял, что лучше по скорости?

  7. Йоу! Есть ещё более простой путь, особенно если работаешь часто с целыми числами:

    Программный код:
    num 123.4500
    print(float('%.5g' num)) 
    Этот форматирует число с помощью 'g', обрезая незначащие нули автоматически.

  8. Цитата Сообщение от Галя
    Йоу! Есть ещё более простой путь, особенно если работаешь часто с целыми числами:

    Программный код:
    num 123.4500
    print(float('%.5g' num)) 
    Этот форматирует число с помощью 'g', обрезая незначащие нули автоматически.
    Оу, не знал про это. Выглядит компактно, но для крупных чисел может зайти.

  9. Можно использовать метод f-string, который появился в версии Python 3.6:

    Программный код:
    num 123.4500
    formatted_num 
    f'{num:.5g}'
    print(formatted_num
    Это однозначно замена для старых добрых % форматов и метод format.

  10. Цитата Сообщение от Анабель
    Можно использовать метод f-string, который появился в версии Python 3.6:

    Программный код:
    num 123.4500
    formatted_num 
    f'{num:.5g}'
    print(formatted_num
    Это однозначно замена для старых добрых % форматов и метод format.
    О, это вообще сок! f-string'и реально мощь, для быстрого форматирования самое то.

Страница 1 из 2 12 ПоследняяПоследняя