减少小数位数但保持 Python 的功能

时间:2021-06-07 08:50:59

标签: python matplotlib

我想减少一个数字的小数,但保留它的功效,以在 Matplotlib 图例中显示它。

例如:8.959976109870809e-10 -> 8.95998e-10

目前我想修改的代码是:plt.plot(x, y, label = f"a{i}={slope};b{i}={intercept}")

(斜率和截距是线性回归的参数)

有什么办法吗? 谢谢!

2 个答案:

答案 0 :(得分:3)

使用字符串格式来确定您的数字的精度,然后您可以简单地将此格式化的字符串添加到您的绘图标签中

formatted = '{:.5e}'.format(8.959976109870809e-10)

或者,使用 f 字符串

num = 8.959976109870809e-10
formatted = f'{num:.5e}'

答案 1 :(得分:0)

将您的数字转换为字符串然后使用十进制,这是示例

from decimal import Decimal

stringNumber = '8.959976109870809e-10'

print('%.5E' % Decimal(stringNumber))

或者你可以这样做

from decimal import Decimal

print('%.5E' % Decimal(str(8.959976109870809e-10)))
<块引用>

输出:8.95998E-10

相关问题