Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/344.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何将科学符号数字打印成相同的比例_Python_Numpy - Fatal编程技术网

Python 如何将科学符号数字打印成相同的比例

Python 如何将科学符号数字打印成相同的比例,python,numpy,Python,Numpy,我想用python打印具有相同比例的科学符号数字。例如,我有不同的数字(1e-6,3e-7,5e-7,4e-8),所以现在我想用e-6符号(1e-6,0.3e-6,0.5e-6,0.04e-6)打印所有这些数字。那我怎么打印呢 谢谢从数学上讲,加上e-6等于乘以1e-6,对吗 因此,您有一个数字x,您想知道使用什么y,以便y*1e-6==x 所以,只需乘以1e6,以非指数格式呈现,然后将e-6作为字符串: def e6(x): return '%fe-6' % (1e6 * x,) 使用l

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


谢谢

从数学上讲,加上
e-6
等于乘以
1e-6
,对吗

因此,您有一个数字
x
,您想知道使用什么
y
,以便
y*1e-6==x

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

def e6(x):
  return '%fe-6' % (1e6 * x,)

使用
log10

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

在使用numpy时,您一定要看看函数,尤其是它的
格式化程序
参数,它采用了一个类似
{'float':formatting_function}
的字典。为您的特定案例使用最合适的格式化功能