форматирования строки, разделение большого числа пробелом
Мне надо используя ТОЛЬКО .format
вывести в консоль число 10000 разделенным пробелом 10 000
что-то типа:
item_name = 'Лампа'
total_quantity = '27'
total_amount = 1134
print('{0} - {1} штук, стоимость {2: d} рублей'.format(item_name, total_quantity, total_amount))
# Лампа - 27 штук, стоимость 1134 рублей
на выходе получилась 2 пробела, оно ставит пробел до числа. использовать .replace
нельзя.
Искал и в документации, ничего про пробел не нашел
Ответы (2 шт):
Автор решения: CraSmi
→ Ссылка
узнал про библиотеку locale
. вот код:
import locale
locale.setlocale(locale.LC_ALL, '')
print('{0} - {1} штук, стоимость {2:n} рублей'.format(item_name, total_quantity, total_amount))
Лампа - 27 штук, стоимость 1 134 рублей
да, оно работает и мне подойдет. Но можно ли обойтись без этой библиотеки, одним лишь форматированием?
Кстати, в консоли видим число с пробелом, но в pycharm этот пробел превращается в NBSP
"неразрывный пробел", и все равно оно является строкой.
Автор решения: strawdog
→ Ссылка
a = 10000
a_formatted = " ".join(('{0:,d}'.format(a)).split(','))
print('стоимость: {0}'.format(a_formatted))
стоимость: 10 000