Как я могу форматировать Decimal с помощью языкового стандарта?
Чтобы описать примеры, я пытаюсь определить функцию f, такую, что в англоязычной локали:
-
f(Decimal('5000.00')) == '5,000.00' -
f(Decimal('1234567.000000')) == '1,234,567.000000'
Некоторые вещи, которые не работают:
-
f = strне использует локаль;f(Decimal('5000.00')) == '5000.00' -
f = lambda d: locale.format('%f', d)не сохраняет десятичную точность;f(Decimal('5000.00')) == '5000.000000' -
f = lambda d: locale.format('%.2f', d)использует фиксированную точность, и это не то, что я хочу;f(Decimal('1234567.000000')) == '1234567.00'