我想控制科学记数法中有效数字的数量。比如,我需要2.33e-7,而不是2.33333333333333333333e -07,在一个rf字符串内。
这是我的代码
import numpy as np
eta_arr=np.linspace(0.2,0.5,10)*1e-6
legendstr=[rf'$eta={x}$' for x in eta_arr ]
print(legendstr)
代码输出:
['$eta=2e-07$', '$eta=2.3333333333333333e-07$', '$eta=2.6666666666666667e-07$', '$eta=3.0000000000000004e-07$', '$eta=3.3333333333333335e-07$', '$eta=3.6666666666666667e-07$', '$eta=4e-07$', '$eta=4.3333333333333335e-07$', '$eta=4.6666666666666666e-07$', '$eta=5e-07$']
我尝试了不同的组合,如{0.2 2e x}, {x/0.2 2e}等,但没有工作。有什么建议吗?
:.3
格式修饰符似乎做你想做的:
>>> a = 2.33333333333e-07
>>> rf'$eta={a:.3}'
'$eta=2.33e-07'