将指数形式的数字转换为 python 中的小数形式
Converting a number in exponential form to decimal form in python
我有一个非常愚蠢的问题,假设如果我有一个数字 1.70000043572e-05
我应该如何将它转换为浮点数,即 0.0000170000043572
.
如果您只是将数字输入到脚本中 python 会理解为浮点数。
如果它是一个字符串,那么使用内置的 float
来进行转换,例如:
x = float("0.423423e4")
print "%.2f" % (x)
会输出
4234.23
您需要转换为浮点数并使用 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.70000043572e-05
我应该如何将它转换为浮点数,即 0.0000170000043572
.
如果您只是将数字输入到脚本中 python 会理解为浮点数。
如果它是一个字符串,那么使用内置的 float
来进行转换,例如:
x = float("0.423423e4")
print "%.2f" % (x)
会输出
4234.23
您需要转换为浮点数并使用 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