例如,现有浮点数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
def ConvertELogStrToValue(eLogStr):
    convert string of natural logarithm base of E to value
    return (...
				
用pandas读取数据时发现工单编号、电话号码等变成科学计数法记录。通过观察当电话号码类型是float时采用科学计数法,而int不会。将电话号码转化成int类型(在Excel里电话号码转化成字符串类型也没有解决问题) 1、首先要将空值转化成数值,这里我转化成了-1(这里我把data2所有字段都填了-1) data2 = data2.fillna(-1) 2、将电话号码字段转化成int类型
python科学计数法数字的字符串转化数字前言法一法二(刚开始的笨做法) 之前由于需要读取一些数据集里的信息,而这些信息是存为txt文件,读取之后是字符串。数据本来全部都是数字。只不过用科学计数法表示的,使用int,float强会报错。在网上稍微查了一下,也没找到啥好办法。后来,刚好看到一本书,提到了一个函数。转化起来很简单。 eval('1.23456789e+5') 输出:...
print ("%e" %number)可以将number输出为科学计数法 这里的 number 是要换的数字或者变量 同理,也可以把科学记数法转化为十进制整数:print ("%d" %number) 同理,二进制,八进制,十六进制也是一样的 当然浮点型的也可以。 print ("%e"%1010) 1.010000e+03