2012-06-19 39 views
24

這裏有很多主題解釋如何將字符串轉換爲小數,但是如何將小數轉換爲字符串?Python十進制到字符串

一樣,如果我這樣做:

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

幾乎所有的內置插件的小數類工作,你所期望的:

>>> 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'