首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python科学表示法中{:.4e}和{:2.4}之间的区别是什么?

Python科学表示法中{:.4e}和{:2.4}之间的区别是什么?
EN

Stack Overflow用户
提问于 2015-02-08 18:49:47
回答 2查看 1.2K关注 0票数 4

我不太明白下面两个打印语句之间的区别,因为我试图用科学的符号来表达这个数字。我认为底部的一个应该允许两个空格的打印结果,并移动小数位4次,但我得到的结果不能证实这一理解。至于第一个,4e是什么意思?

代码语言:javascript
复制
>>> print('{:.4e}'.format(3454356.7))
3.4544e+06

>>> print('{:2.4}'.format(3454356.7))
3.454e+06

所有的帮助都非常感谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-02-08 18:55:07

在第一个例子中,4e指的是科学表示法中的4位小数。你可以通过做

代码语言:javascript
复制
>>> 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指的是4个重要数字。而2意味着将整个数据拟合成两个字符。

代码语言:javascript
复制
>>> 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值的测试

代码语言:javascript
复制
>>> print('-{:20.6}'.format(3454356.7))
-         3.45436e+06

你可以学到更多的format

票数 5
EN

Stack Overflow用户

发布于 2015-02-08 18:56:41

如果要生成浮点数,则必须指定浮点数类型:

代码语言:javascript
复制
>>> '{:2.4f}'.format(3454356.7)
'3454356.7000'

否则,如果不指定类型,Python将选择g作为类型,其精度将根据其重要数字、小数点前后的数字来表示精度。由于4的精度,它将只显示4位数字,回到科学表示法,这样它就不会增加错误的精度。

精度是一个十进制数字,指示在用'f''F'格式化的浮点值的小数点之后应该显示多少位数字,对于用 'G'.格式化的浮点值,在小数点前后显示。对于非数字类型,字段指示最大字段大小-换句话说,字段内容中将使用多少个字符。对于整数值,不允许使用此精度。

(来源,强调地雷)

最后,请注意宽度(上述格式字符串中的2 )包括全宽度,包括小数点之前的数字、小数点后面的数字、小数点本身以及科学符号的组成。上面的结果将有12的宽度,所以在这种情况下,格式字符串的宽度被忽略了。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28397949

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档