您看到的是默认值str()
工作中浮点数的转换。您可以通过显式设置数字格式来选择不同的转换。
The format()功能 https://docs.python.org/2/library/functions.html#format可以为您做到这一点:
>>> n = 9.87654312e+15
>>> format(n, 'f')
'9876543120000000.000000'
See the 格式规范迷你语言 https://docs.python.org/2/library/string.html#formatspec更多选项的文档。这'f'
格式只是以下几种之一:
固定点。将数字显示为定点数。默认精度为 6。
默认精度导致.000000
小数点后六位数字;你可以通过使用来改变它.<precision>f
反而:
>>> format(n, '.1f')
'9876543120000000.0'
但请考虑到小数点会四舍五入以适应所需的精度。
The g
使用指数之间的格式切换 (e
) and f
表示法,取决于数字的大小,但如果数字是整数,则不包括小数;你可以使用一个非常large精度与'g'
为了避免完全打印小数:
>>> format(n, '.53g')
'9876543120000000'
明确地说,str(n)
是相同的format(n, '.12g')
, repr(n)
is format(n, '.17g')
;当指数大于精度时,两者都可以使用指数格式。