我有点不理解下面两个打印语句在科学计数法中所表达的数字之间的区别。我认为底部的那个应该允许打印结果有2个空格,并将小数点向右移动4次,但我得到的结果不支持这种理解。至于第一个语句,4e代表什么?
>>> print('{:.4e}'.format(3454356.7))
3.4544e+06
>>> print('{:2.4}'.format(3454356.7))
3.454e+06
非常感谢您的帮助。
我有点不理解下面两个打印语句在科学计数法中所表达的数字之间的区别。我认为底部的那个应该允许打印结果有2个空格,并将小数点向右移动4次,但我得到的结果不支持这种理解。至于第一个语句,4e代表什么?
>>> print('{:.4e}'.format(3454356.7))
3.4544e+06
>>> print('{:2.4}'.format(3454356.7))
3.454e+06
非常感谢您的帮助。
4e
表示科学计数法下的四位小数。你可以通过执行以下操作了解此含义。>>> print('{:.4e}'.format(3454356.7))
3.4544e+06
>>> print('{:.5e}'.format(3454356.7))
3.45436e+06
>>> print('{:.6e}'.format(3454356.7))
3.454357e+06
.4
表示四个有效数字。而 2
表示将整个数据适应两个字符。>>> print('{:2.4}'.format(3454356.7))
3.454e+06
>>> print('{:2.5}'.format(3454356.7))
3.4544e+06
>>> print('{:2.6}'.format(3454356.7))
3.45436e+06
测试不同值的2
>>> print('-{:20.6}'.format(3454356.7))
- 3.45436e+06
您可以从 Python 文档中了解有关 format
的更多信息,请点击此处。
>>> '{:2.4f}'.format(3454356.7)
'3454356.7000'
g
作为类型,其精度将基于其有效数字,即小数点前后的数字。由于您有一个精度为4
,它只会显示4个数字,并回退到科学计数法,以避免添加虚假精度。
(source,重点是我的)精度是一个十进制数字,指示应在使用
'f'
和'F'
格式化的浮点值之后显示多少位小数点,或者在使用'g'
或'G'
格式化的浮点值之前和之后显示多少位小数点。对于非数字类型,该字段指示最大字段大小-换句话说,将使用多少个字符从字段内容中使用。整数值不允许精度。
2
)包括完整宽度,包括小数点前的数字、小数点后的数字、小数点本身和科学计数法的组成部分。
'{:2.4}'
中,字段宽度为2
的部分被忽略了,因为数据无法适应两个字符。 - Mike DeSimone'{:10.4}'
,Python将会在需要时添加前缀空格以达到那个字符数(' 3.454e+06'
)。插入一个0
将会把前缀字符改为0
:'{:012.4}'.format(3454356.7)
将会得到'0003.454e+06'
。 - Mike DeSimone