python中的字符串格式化

时间:2017-11-07 12:05:37

标签: python-3.x string-formatting

我是python的初学者。我想格式化矢量中的以下数字。

例如,我有的数字

23.02567

0.025679

我想格式化为

0.230256700 + E02

0.025679000 + E00

提前感谢你的建议如何去做。

1 个答案:

答案 0 :(得分:0)

首先,请注意, 是用科学或工程符号格式化数字的正确方法。除非指数需要为3的倍数(即1000的幂,对应于SI前缀之一),否则这些数字应始终在小数点前面正好有一位数。但是,如果 使用此格式,则可以为此编写自己的格式字符串。

>>> 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'