2013-09-20 3 views
0

я не знаю «имя» для этой проблемы, так что это может быть неправильным названием, но проблема проста, если у меня есть номерДобавление разделителя при печати номера

, например:

number = 23543 
second = 68471243 

Я хочу, чтобы он сделал print() вот так.

23,543
68,471,243

Надеюсь, это объяснит достаточно или добавит комментарии. Любая помощь приветствуется!

+0

Вы имеете в виду разделители тысяч? –

ответ

7

Если вам нужно только добавить запятую в качестве разделителя и используют Python 3:

print("{0:,g}".format(number)) 

Это использует Формат- метод str-объектов. {0} является держателем места в строке, он говорит, что материал должен быть изменен. В запятой указано, что запятая должна использоваться как разделитель тысяч, а g - для общего числа.

68,471,24,3 кажется немного странным для меня. Это просто опечатка?

Python 3 str.format()

Python 3 Format String Syntax

+0

да, это опечатка – Frederik

1

Самый простой способ - установить локаль на en_US.

Пример:

import locale 
locale.setlocale(locale.LC_ALL, 'en_US') 
number = 23543 
second = 68471243 
print locale.format("%d", number, grouping=True) 
print locale.format("%d", second, grouping=True) 

печатает:

23,543 
68,471,243 
+0

Ошибка: неподдерживаемая настройка локали 'return _setlocale (category, locale)' – Frederik

+0

Какая оперативная система вы используете? – moliware

+0

Windows 7, но это будет работать на Linux? – Frederik

Смежные вопросы