首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将科学记数法数字打印到同一刻度

如何将科学记数法数字打印到同一刻度
EN

Stack Overflow用户
提问于 2012-10-04 03:53:47
回答 3查看 713关注 0票数 3

我想用python打印相同比例的科学记数法数字。例如,我有不同的数字(1e-6, 3e-7, 5e-7, 4e-8),所以现在我想用e-6符号(1e-6, 0.3e-6, 0.5e-6, 0.04e-6)打印所有这些数字。那么我该如何打印它呢?

谢谢

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-10-04 03:59:07

从数学上讲,对e-6求和等同于乘以1e-6,对吗?

因此,您已经有了一个数字x,并且您想知道要使用什么y,比如y * 1e-6 == x

因此,只需乘以1e6,以非指数格式呈现,然后将e-6添加为字符串:

代码语言:javascript
复制
def e6(x):
  return '%fe-6' % (1e6 * x,)
票数 1
EN

Stack Overflow用户

发布于 2012-10-04 04:45:08

使用log10

代码语言:javascript
复制
In [64]: lis= (1e-6, 3e-7, 5e-7, 4e-8)

In [65]: import math

In [66]: for x in lis:
    exp=math.floor(math.log10(x))
    num=x/10**exp              
    print "{0}e-6".format(num*10**(exp+6))
   ....:     
   ....:     
1.0e-6
0.3e-6
0.5e-6
0.04e-6
票数 1
EN

Stack Overflow用户

发布于 2012-10-04 04:59:43

在使用numpy时,一定要看一看np.set_printoptions函数,特别是它的formatter参数,该参数接受像{'float': formatting_function}这样的字典。针对您的特定情况使用最合适的格式化函数。

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

https://stackoverflow.com/questions/12715828

复制
相关文章

相似问题

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