你如何对数字进行四舍五入以纠正不确定性



在python中,我有一个数字:U = 0.02462631224438585 +- 3.350971888120506e-06

由于不确定性四舍五入到

1s.f.,如何将其四舍五入到正确的有效数字?有没有使用numpy的简单方法?或者scipy或者内置功能最适合这个?

我试过使用set_printoptions(precision=3)但这不起作用。我也尝试过使用 round(number, significant - len(str(number))) ,但这似乎很冗长。

我确定我已经使用了几年前的函数,而无需创建自己的函数。

最终数字应为U = 2.4626e-02 +- 3e-06

U = (2.4626 +- 3e-4)e-02

uncertainties模块具有计算有效位数的能力

import uncertainties
a = uncertainties.ufloat(0.02462631224438585, 3.350971888120506e-06)
print(a)
# 0.0246263+/-0.0000034

defaut 是两个有效数字,但是有一个用于控制输出的format

print('{:.1u}, {:.3uf}, {:.2uL}, {:0.2ue}'.format(a,a,a,a))
# 0.024626+/-0.000003, 0.02462631+/-0.00000335, 0.0246263 pm 0.0000034, (2.46263+/-0.00034)e-02

相关内容

  • 没有找到相关文章

最新更新