def as_num(x): y = '{:.1f}'.format(x) # .1f 保留1位小数 想为十位就这样写10f return y if __name__ == '__main__': str = '9.13403003438304e+17' if ('E' in str or 'e' in str): xx = as_num(float(str)) print(xx) #913403003438304000.0 xxx = str(xx).replace(".0", "")#把小数点拿掉 print(xxx) # 913403003438304000
虽然有点复杂但是解决了我的需求。。。。。