在python中将指数形式的数字转换为十进制形式

时间:2015-02-04 12:25:04

标签: python python-2.7 python-3.x

我有一个非常愚蠢的问题,假设我有一个数字1.70000043572e-05我应该如何将其转换为浮点数0.0000170000043572

2 个答案:

答案 0 :(得分:6)

您需要转换为float并使用str.format指定精度:

 In [41]: print "{:f}".format(float("1.70000043572e-05"))
 0.000017

# 16 digits 
In [38]: print "{:.16f}".format(float("1.70000043572e-05"))
0.0000170000043572

只需调用float即可获得1.70000043572e-05

使用旧式格式:

In [45]: print( "%.16f" % float("1.70000043572e-05"))
0.0000170000043572

答案 1 :(得分:4)

如果您只是在脚本中输入数字,python会将其理解为浮动。

如果是字符串,则使用内置的float进行转换,例如:

x = float("0.423423e4")
print "%.2f" % (x)

将输出

4234.23