【问题标题】:How to control the format within rf string python?如何控制 rf string python 中的格式?
【发布时间】:2021-10-29 10:10:44
【问题描述】:

我想控制科学计数法中有效数字的数量。就像我不需要 2.3333333333333333e-07 而不是 2.33e-7,在一个 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.2e x} 、 {x/0.2e} 等,但没有奏效。有什么建议吗?

【问题讨论】:

    标签: python number-formatting


    【解决方案1】:

    :.3formatting modifier 似乎可以做你想做的事:

    >>> a = 2.33333333333e-07
    >>> rf'$eta={a:.3}'
    '$eta=2.33e-07'
    

    【讨论】:

      猜你喜欢
      • 2018-10-31
      • 1970-01-01
      • 2010-09-30
      • 2021-12-02
      • 1970-01-01
      • 1970-01-01
      • 2012-08-28
      • 2019-09-16
      • 2012-11-25
      相关资源
      最近更新 更多