Skip to main content
 首页 » 编程设计

带有科学记数法EXY的python

2025年05月04日13xing901022

所以我将一个数组的列写入一个文件,该文件将由对空间敏感的程序使用,因此它必须是完全正确的方式,如下所示:

*DEFINE_CURVE_TRIM  
$     TCID    TCTYPE      TFLG      TDIR     TCTOL  TOLN/IGB     NSEED  
      1111         1        -1         0     0.001 
 7.50000E01 , 0.00000E00 
 7.49906E01 , 1.18995E00 
 7.49622E01 , 2.37960E00 

我正在处理一些带有很多小数的 float ,所以我将它们四舍五入为具有相同的小数位数,但是 python 符号是 E+01,它必须是 E01

udskrift = open('DEFINE_CURVE_TRIM_FULL','w') 
udskrift.write('*DEFINE_CURVE_TRIM\n$     TCID    TCTYPE      TFLG      TDIR     TCTOL  TOLN/IGB     NSEED\n      1111         1        -1         0     0.001\n') 
for entry in polar_koordinator: 
    udskrift.write(" %.5E , %.5E\n" % (entry[2], entry[3])) 

输出是

*DEFINE_CURVE_TRIM 
$     TCID    TCTYPE      TFLG      TDIR     TCTOL  TOLN/IGB     NSEED 
      1111         1        -1         0     0.001 
 8.00976E+01 , 0.00000E+00 
 8.01050E+01 , 1.25839E+00 

关于如何删除“+”使其变为 E01 的任何指示?我不想重新打开文件并删除它们

请您参考如下方法:

一个简单的方法是写

udskrift.write((" %.5E , %.5E\n" % (entry[2], entry[3])).replace('E+', 'E')) 

但这看起来不像 pythonic。