2015-01-30 4 views
0

Проблема описана ниже:Python: Как форматировать большое число без запятой

a = 535221324694  
b = round(a*1,024)  
print "number :"+str(b)  
>number :5.48066636487e+11  

Я попытался:

print "number :"+'{0:0f}'.format(b) 
>number :548066636487.000000 

В результате я ищу это:

>548066636487 
+0

есть опечатка в коде, 'б = круглый (а * 1,024)' вместо 'b = round (a * 1,024)' – chancyWu

ответ

1

вы можете использовать:

print "number : {0:.0f}".format(b) 

ноль после запятой определяет, сколько десятичных цифр вы хотите после того, как десятичная метка. :)

Дополнительно:
Вам не нужно комбинировать строки, просто напишите их как один. Это легче понять позже.

1

Вы можете конвертировать b в int, тогда вам не нужно 0:0f в format:

b = int(round(a*1,024))  
>>> "number :"+'{}'.format(b) 
'number :535221324694' 

или, как говорит в комментарии вы можете не нужно использовать format:

print "number:", int(b) 
+0

Есть ли необходимость в строке формата вообще? Почему бы не просто «напечатать» число: «, int (b)»? –

+0

@tobias_k да, я добавляю его, чтобы ответить, спасибо за напоминание! – Kasramvd

0

Вы можете привести в целое, например

печати «номер:» + ул (интермедиат (б))

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