如何格式化矢量中的以下数字?
例如,我有数字:
23.02567
0.025679
并且我想格式化为:
0.230256700 + E02
0.025679000 + E00
首先,请注意,这是not以科学或工程表示法格式化数字的正确方法。除非要求指数是3的倍数(即1000的幂,对应于SI前缀之一),否则这些数字应始终在小数点前正好有一位数字。但是,如果您have使用此格式,则可以为此编写自己的格式字符串。
>>> x, e = 23.02567, 2
>>> "%f%sE%02d" % (x/10**e, "+" if e >= 0 else "-", abs(e))
'0.230257+E02'
>>> x, e = 0.025679, -1
>>> "%f%sE%02d" % (x/10**e, "+" if e >= 0 else "-", abs(e))
'0.256790-E01'
这是假定给出了指数e
。如果指数无关紧要,您也可以使用正确的%E
格式,而只需将replace
和E+
与+E
结合使用:
>>> ("%E" % x).replace("E+", "+E").replace("E-", "-E")
'2.567900-E02'