以正常形式打印浮点数,而不是指数形式/科学记数法[重复]

Posted

技术标签:

【中文标题】以正常形式打印浮点数,而不是指数形式/科学记数法[重复]【英文标题】:Print a float number in normal form, not exponential form / scientific notation [duplicate] 【发布时间】:2011-10-18 01:45:26 【问题描述】:

我有一个以指数形式打印出来的数字:

>>>
>>> a = 1/1221759
>>> print(a)
8.184920266599223e-07
>>>

我怎样才能让它以正常形式打印?

【问题讨论】:

【参考方案1】:

您可以将其格式化为定点数。

>>> a = 1/1221759
>>> '0:.10f'.format(a)
'0.0000008185'

【讨论】:

为我返回“0.0000000000”? @Nik 因为 Python 2.7 返回带有 / 运算符的 int。 Py3 返回浮点数。在1221759末尾加一个小数点【参考方案2】:

您可以使用打印格式:

print "%.16f" % a

其中 16 是您想要的小数点后位数。

【讨论】:

以上是关于以正常形式打印浮点数,而不是指数形式/科学记数法[重复]的主要内容,如果未能解决你的问题,请参考以下文章

第04部分:浮点数类型

java浮点数常量是啥

什么是浮点数格式?

浮点数的存储

C++ Primer 5th笔记(chap 17 标准库特殊设施)IO库 之操纵符

IEEE754二进制浮点数算术标准