2012-06-19 8 views
24

Здесь представлено множество тем, которые объясняют, как преобразовать строку в десятичную, но как преобразовать десятичную цифру в строку?Python Decimal to String

Как если бы я сделал это:

import decimal 
dec = decimal.Decimal('10.0') 

Как бы я взять dec и получить '10.0' (строку) из?

+4

Пожалуйста, обратитесь к документации по API, прежде чем отправлять вопрос, как это. Вы также получите хорошие результаты от простого запуска python и пробования. – Marcin

ответ

38

the str() builtin Использование, в том числе:

Возвращает строку, содержащую славно для печати представление объекта.

Например:

>>> import decimal 
>>> dec = decimal.Decimal('10.0') 
>>> str(dec) 
'10.0' 
+5

+1 Важно отметить, что 'str()' работает практически во всем Python. –

+1

@Greg, и так оно и должно быть :) –

+0

, потому что у большинства типов есть метод __str__, реализованный – zinking

4
import decimal 
dec = decimal.Decimal('10.0') 
string_dec = str(dec) 
4

Почти все встроенные модули работают на Decimal класса, как можно было бы ожидать:

>>> import decimal 
>>> dec=decimal.Decimal('10.0') 

Строка:

>>> str(dec) 
'10.0' 

Поплавок:

>>> float(dec) 
10.0 

INT:

>>> int(dec) 
10 

представление объекта (как это было бы в интерактивном переводчика):

>>> repr(dec) 
"Decimal('10.0')" 

Рациональный номер:

>>> import fractions 
>>> fractions.Fraction(decimal.Decimal('0.50')) 
Fraction(1, 2) 
17

Используйте функцию форматирования строк:

>>> from decimal import Decimal 
>>> d = Decimal("0.000000000000") 
>>> s = '{0:f}'.format(d) 
>>> print(s) 
0.000000000000

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

>>> str(d) 
'1.23123E-14'