2009-06-08 4 views
-5

мой вход 3,23, но когда я использую поплавок на него, он становится 3.2,питон форматированием чисел с плавающей точкой

, когда мой вклад 3.00, когда я действительно всплывают на него, он становится 3,0

, когда я конвертировать в float из строки, я все еще хочу, чтобы это было 3.00, а не 3.0 это возможно? Я хочу знать код, чтобы сделать это возможным, и когда я делаю проблему, в которой десятичная точка до 2 цифр имеет значение, 3.23 лучше, чем 3.2, для большей точности

+6

http://stackoverflow.com/questions/964369/quick-python-question вы оказались в одном классе;) –

+1

? Да. Возможно. Каков ваш РЕАЛЬНЫЙ вопрос? –

+0

float ('3.23')! = 3.2, пожалуйста, уточните здесь :) – NicDumZ

ответ

1

Я полагаю, что вы хотите преобразовать float в строку с количеством десятичных знаков, которое вы хотите. Вы можете достичь этого, используя% .3f (здесь 3 это число десятичных знаков, которые вы хотите напечатать. Например:

>>> print "Value: %.2f" % 3.0000 

Значение: 3,00

1

Если вы хотите, чтобы десятичная точность использовала питон decimal модуля:

from decimal import Decimal 
x = Decimal('3.00') 
print x 

, который печатает:

Decimal('3.00') 
0

Если вы хотите напечатать число с плавающей запятой до требуемой точности вы можете использовать коды форматирования вывода, как следующее:

Полагая х = 3,125

print "%.1f" % (x) # prints 3.1 
print "%.2f" % (x) # prints 3.12 
print "%.3f" % (x) # prints 3.125 
print "%.4f" % (x) # prints 3.1250 

Это будет работать в Python 2.6 (я думаю, что они изменили функцию печати в 3-й версии).

Вы также должны понимать, что числа с плавающей запятой могут храниться с определенной точностью, поэтому иногда вы не получите точно такое же число. Например, 0,1 может храниться как-то вроде 0.9999999987.

3

Поскольку этот поток первый на словах «строка форматирования десятичное питон», я думаю, что это хорошо, чтобы обеспечить более поздний ответ:

>>> P=34.3234564 
>>> string="{:.2f}".format(P) 
>>> string 
'34.32' 

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

  • Нет связанных вопросов^_^