2014-12-22 74 views
0

我有一些值需要以科学记数法打印(值为10^-8,-9的顺序) 但我想不打印一个长号码,后面只有两位数字。如何打印有限的位数使用科学计数法

东西为:

9.84e-08

,而不是

9.84389879870496809597e-08

我该怎么办呢?我试图用 "%.2f" % a 其中“a”是包含该值的数字,但这些数字显示为0.00

回答

2

尝试这样的:

print "%.2e"%9.84389879870496809597e-08 #'9.84e-08'

+0

它的工作原理!谢谢 – spec3

2

这适用于字符串的format功能(如%可很快废弃)

>>> n 
9.843898798704968e-08 
>>> print ("{0:.2e}".format(n)) 
9.84e-08 
0

%F代表固定点,并强制数字相对于数字1显示(1e-3显示为0.001)。 %e代表指数符号,并会给你你想要的(1e-3显示为1e-3)。