Как ограничить числа после запятой с использованием десятичного запятой? [дублировать]Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Как ограничить числа после запятой с использованием десятичного запятой? [дублировать]

Сообщение Anonymous »

У меня есть номер из базы данных (Clickhouse), и это число ограничено только двумя цифрами после запятой на уровне базы данных. Так что у меня всегда есть что -то вроде 34.23 , 2323.23 , 324234.3 , и, следовательно, один (в нашем регионе мы используем DOT для разделения дробной части числа).

И я должен умножить это число жесткодированных чисел, таких как 1.22 , 1.24 или 1.25 , а также вернуть также десятичный с двумя цифрами. Вот как это выглядит (упрощено с no if < /code> -blocks и другой логики): < /p>

Код: Выделить всё

import decimal
TAX_22 = decimal.Decimal('1.22')

def wrap_on_tax(item):
return item.money * TAX_22
Но для этого кода я собираюсь получить результат 285.7362 за деньги = 234.21 . И я хочу получить 285.73 < /code>. < /P>

, и я пытаюсь найти наиболее ясный и питонический способ сделать это.

Код: Выделить всё

import decimal
TAX_22 = decimal.Decimal('1.22')

def wrap_on_tax(item):
return decimal.Decimal('%.2f' % item.money * TAX_22)
< /code>

И этот подход даст мне то, что я хочу. Но тип номера в строку, чтобы снова получить номер, не выглядит совершенно ясно. Я пытался найти какой -либо аргумент для десятичного 
конструктора, чтобы рассказать ему, сколько цифр после запятой я хочу, но я ничего не могу найти.>

Подробнее здесь: https://stackoverflow.com/questions/623 ... ng-decimal
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»