Я хотел бы добавить запятые, чтобы «разделить тысячи», когда печатаются длинные целые числа. Уловка, я не хочу преобразовать int в строку. Есть несколько вопросов, так чтобы предложить что-то вроде:Есть ли способ форматировать число с запятыми для тысяч, не преобразовывая int в строку?
a = 1234567
print "The number is %s but it's converted to a string" %'{:,d}'.format(a)
====> Номер является 1342424242, но он преобразуется в строку
Я искал решение, которое не было бы потребовать преобразование в строку. Например, когда я хотел, чтобы отобразить число в процентах:
b = 0.1234
print "The Norwegian Blue prefers kippin' on it's back! %0.2f%%" % (b*100)
====> Норвежский голубой предпочитает kippin' на это обратно! 12.34%
В любом случае, чтобы сделать что-то подобное, только с разделением запятых? Спасибо!
EDIT: Чтобы лучше объяснить себя, я имею в виду представить число с запятыми, подобно тому, как вы представляете процент с меткой% и только 2 десятичным знаками после точки. Вы не изменяете число или не преобразуете его в строку, а только обрабатываете способ отображения/представления. Это то, чего я пытаюсь достичь.
EDIT2: Здесь я не понимаю негативное настроение. Я дал один способ кое-что обсудить и спросил, можно ли это сделать по-другому, это будет больше похоже на пример, который я дал. Я подошел к обоим этим примерам после того, как нашел SO довольно немного. Может быть, вопрос о нобе, но, по крайней мере, я пошел в одиночку и искал решения, прежде чем обратиться к сообществу. Не уверен, что я сделал не так, как не знал ответов. Tnx для чтения.
Ну, это невозможно, поскольку целое число, разделенное запятыми, будет рассматриваться как объект кортежа. –
«Мойте меня, но не делайте меня мокрым» - вы не можете иметь одно без другого. он форматирует описание способа преобразования числа в строку. – glglgl
Вы хотите добавить запятые ... и сохранить тип как 'int'? – HavelTheGreat