看看这段代码:
>>> print "var: %g" % 3.12345678
var: 3.12346
>>> print "var: %G" % 3.12345678
var: 3.12346
>>> print "var: %e" % 3.12345678
var: 3.123457e+00
>>> print "var: %E" % 3.123456
var: 3.123457E+00
为什么不显示所有数字?
为什么 6 会从科学记数法中删除?
看看这段代码:
>>> print "var: %g" % 3.12345678
var: 3.12346
>>> print "var: %G" % 3.12345678
var: 3.12346
>>> print "var: %e" % 3.12345678
var: 3.123457e+00
>>> print "var: %E" % 3.123456
var: 3.123457E+00
为什么不显示所有数字?
为什么 6 会从科学记数法中删除?
使用%.nf
其中 n 是 sig-figs 的数量
print 'var: %.10f' % 3.12345678
# outputs: "var: 3.1234567800"
print 'var: %.10E' % 3.12345678
# outputs: "var: 3.1234567800E+00"
print 'var:', 3.12345678
# outputs: "var: 3.12345678"
见:http%g
://docs.python.org/2/library/stdtypes.html and
的默认精度%G
是6,所以它只输出6位数字(截断)。
对于指数格式,默认精度是小数点后 6 位,并且四舍五入(到 3.123457)