python带e的科学计数法转普通数字

例如,现有浮点数0.00001623,在python中会默认用科学计数法1.623e-05表示,代表1.623 乘以10的-5次方。

如果只是希望通过print方式显示的时候是普通数字的话,那么格式化下即可

x = 1.623e-05
x = '%.8f' % x
print(x)  #输出结果为0.00001623,输出的数据类型是字符串。%.8f表示输出结果用8位小数显示。

#如果要拿转换后的字符串计算,需要先用float函数把字符串转换为浮点数
x = float(x) - 0.000001
print(x)   #输出1.5229999999999998e-05
print('%.8f' % x)    #输出0.00001523

上面是自己指定了具体小数位数,如果不指定具体小数位数,也可以直接用%f粗略得出一个不是特别精确的小数。如果想要精确又不知道小数位数的情况下,可以用第一种方法并给定一个非常大的小数位数,比如%.50f,代表最多可以显示50位小数

x = 1.623e-05
x = '%f' % x
print(x)   #输出0.000016

x = 1.623e-05
x = '%.50f' % x
print(x)   #输出0.00001622999999999999876792999842223252926487475634

你可能感兴趣的:(python)