在python中将指数形式的数字转换为十进制形式[重复]
Posted
技术标签:
【中文标题】在python中将指数形式的数字转换为十进制形式[重复]【英文标题】:Converting a number in exponential form to decimal form in python [duplicate] 【发布时间】:2015-02-04 12:25:04 【问题描述】:我有一个非常愚蠢的问题,假设如果我有一个数字 1.70000043572e-05
我应该如何将其转换为浮点数,即 0.0000170000043572
。
【问题讨论】:
1.70000043572e-05
是一个合法的浮点数,就像0.0000170000043572
一样。这些“数字”是字符串还是浮点数?
这些数字是字符串
【参考方案1】:
您需要转换为浮点数并使用 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
【讨论】:
【参考方案2】:如果您只是在脚本中输入数字,python 会将其理解为浮点数。
如果是字符串,则使用内置的float
进行转换,例如:
x = float("0.423423e4")
print "%.2f" % (x)
会输出
4234.23
【讨论】:
你能删除 IPython 的东西吗...这会让初学者感到困惑。 仅仅调用 float 是行不通的,仍然会给出指数格式以上是关于在python中将指数形式的数字转换为十进制形式[重复]的主要内容,如果未能解决你的问题,请参考以下文章