Ваш браузер устарел. Рекомендуем обновить его до последней версии.

Info Board


Класс Decimal модуля decimal в Python.

Режимы округления ROUND_HALF модуля decimal.

Метод format в Python.

Метод str.replace в Python.

Формат вывода числовых значений в Python

Опубликовано 05.09.2023

Познакомимся с функцией, которая позволяет выводить значения в наглядном числовом формате следующего вида: 5 545.80 или 5 545 или 5545,8 и т.п.

Разрядность регулируется через изменение в коде значения "1.00" => "1.0" или "1" и т.д.
Разделитель тысячных регулируется во вторых кавычках: replace(',', ' ').
Для воспроизведения функции, нужно импортировать библиотеку: Decimal

from decimal import Decimal, ROUND_HALF_UP

def numformat(num):
    # num = num.replace(' ', '') # если формат числа = str с пробелом.
    n = Decimal(str(num))
    number = n.quantize(Decimal("1.00"), ROUND_HALF_UP)
    formats = '{0:,}'.format(number).replace(',', ' ')
    return formats

print(numformat(5545.8))

 

out: 5 545.80