Python - 无法将1.72e-05转换为浮点值

时间:2016-06-03 11:58:26

标签: python

我在csv文件中有科学记数法的一些值,并且我试图使用Python 3脚本(继承自某些脚本)将它们转换为float / decimal值。为此,我使用float(字符串)但它无法转换某些值。

以下是一个例子:

U:\>py
Python 3.5.1 (v3.5.1:37a07cee5969, Dec  6 2015, 01:38:48) [MSC v.1900 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> float('1.72e-05')
1.72e-05
>>>

不知何故,它不能用于某些值,如上所述。

那些科学记数值来自不同的系统,我不知道它们是如何被创造出来的。

感谢您的帮助。

2 个答案:

答案 0 :(得分:2)

使用内置函数format将科学记数法显示为小数。

>>> format(float('1.72e-05'), 'f')
'0.000017'

>>> format(float('1.72e-05'), '.7f')
'0.0000172'

答案 1 :(得分:1)

如果要将其转换为字符串,请执行此操作。

value = float('1.72e-05')
string_value = "%f" % value