将科学记数法转换为十进制 - python

Posted

技术标签:

【中文标题】将科学记数法转换为十进制 - python【英文标题】:Convert scientific notation to decimal - python 【发布时间】:2013-06-06 12:47:08 【问题描述】:

如何将科学记数法转换为浮点数? 这是我要避免的示例:

Python 2.7.3 (default, Apr 14 2012, 08:58:41) [GCC] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> a=[78.40816326530613, 245068094.16326532]
>>> print a[0]/a[1]
3.19944395589e-07
>>> print float(a[0]/a[1])
3.19944395589e-07
>>> print float(a[0])/float(a[1])
3.19944395589e-07

【问题讨论】:

【参考方案1】:

使用字符串格式:

>>> ":.50f".format(float(a[0]/a[1]))
'0.00000031994439558937568872208504280885144055446290'

【讨论】:

感谢您的回答。如何指定整数部分?【参考方案2】:

科学计数法只是打印浮点数的一种便捷方式。当您的示例中有很多前导零时,科学记数法可能更容易阅读。

为了打印小数点后的特定位数,可以用 print 指定格式字符串:

print 'Number is: %.8f' % (float(a[0]/a[1]))

或者您可以像其他答案一样使用format()

【讨论】:

【参考方案3】:

这已经是一个浮点数,它只是以友好的格式打印。如果要在打印时显示一定数量的小数位,请使用format

>>> print format(a[0]/a[1], '.65f')
0.00000031994439558937568872208504280885144055446289712563157081604

【讨论】:

以上是关于将科学记数法转换为十进制 - python的主要内容,如果未能解决你的问题,请参考以下文章

将科学记数法转换为十进制记数法

将不同的数字转换为小数 C#(科学记数法到十进制)

Excel 2010 将单元格内容中的科学记数法方程转换为十进制表示

在bash中将科学记数法转换为十进制

使用ggplot从科学记数法转换为十进制

excel中如何避免科学记数法转换