Допустим есть переменная balance balance = 1.237
И есть строка s s = "Balance: {balance:.2f}" print(s.format(balance=balance)) #1.24
Есть ли возможность форматировать строки так, чтобы числа округлялись вниз? Или без предварительной обработки передаваемых параметров это невозможно? Готов рассмотреть костыльные варианты с заменой дефолтной функции форматирования/округления на свою
У меня есть своя функция для округления чисел. У меня около 100 различных строк для форматирования (в некоторых по 4 значения) и мне интересно, чтобы каждая форматировалась округляя вниз. В строках для форматирования функции не работают, а каждый элемент, который подставляется округлять своей функцией затруднительно, это последнее, что я хочу сделать
Арсений Куликов, можно тогда вместо float использовать decimal, как тут советуют ниже. Можно было бы ещё определить свой потомок float с кастомным оператором __str__, но тогда, скорее всего, усилий по приведению чисел к этому классу будет гораздо больше, чем исправлений форматных строк.