2024-05-04 06:20:12 发布
网友
我想用python打印同样比例的科学记数法。例如,我有不同的数字(1e-6, 3e-7, 5e-7, 4e-8),所以现在我想用e-6符号(1e-6, 0.3e-6, 0.5e-6, 0.04e-6)打印所有这些数字。那我怎么打印呢?在
(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,对吧?在
1e-6
所以,你有一个数字x,你想知道y使用什么{}。在
x
y
所以,只需乘以1e6,以非指数格式呈现,然后将e-6作为一个字符串:
def e6(x): return '%fe-6' % (1e6 * x,)
在使用numpy时,一定要看一下^{}函数,尤其是它的formatter参数,它采用了{'float': formatting_function}这样的字典。为您的特定案例使用最合适的格式化功能。在
formatter
{'float': formatting_function}
使用log10:
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
从数学上讲,加上
e-6
等于乘以1e-6
,对吧?在所以,你有一个数字}。在
x
,你想知道y
使用什么{所以,只需乘以1e6,以非指数格式呈现,然后将
e-6
作为一个字符串:在使用numpy时,一定要看一下^{} 函数,尤其是它的
formatter
参数,它采用了{'float': formatting_function}
这样的字典。为您的特定案例使用最合适的格式化功能。在使用
log10
:相关问题 更多 >
编程相关推荐