Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python-无法将1.72e-05转换为浮点值_Python - Fatal编程技术网

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

Python-无法将1.72e-05转换为浮点值,python,Python,我在一个csv文件中有一些用科学记数法表示的值,我正试图使用从某个文件继承的Python3脚本将它们转换为浮点/十进制值。为此,我使用floatstring,但它无法转换某些值 以下是一个例子: 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

我在一个csv文件中有一些用科学记数法表示的值,我正试图使用从某个文件继承的Python3脚本将它们转换为浮点/十进制值。为此,我使用floatstring,但它无法转换某些值

以下是一个例子:

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
>>>
不知何故,它对上述某些值不起作用

这些科学符号值来自不同的系统,我不知道它们是如何产生的


谢谢您的帮助。

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

value = float('1.72e-05')
string_value = "%f" % value
使用内置函数将科学记数法显示为小数

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

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

上面例子的预期输出是什么?结果是一个浮点数,只是用科学记数法显示。我希望它返回一个真正的浮点数,而不是用科学记数法的值。我试图将文件中的科学符号值替换为字符串形式的实际浮点值,以便将其加载到SQL Server中。然后,您需要的不是真正的浮点,而是浮点的字符串表示形式。它工作正常。您将字符串“1.72e-05”传递给float,它将返回float值1.72e-05。那不是一根绳子,而是一个浮点数。如果它是一个字符串,它将被单引号包围。您可以通过执行typefloat'1.72e-05'进行确认。如果要使用其他格式将其重新格式化为字符串,则可以使用format方法。在本例中,应为%.7f%值。感谢大家给出的精彩答案。我只需要小数点后两位数,这就足够了。