您如何舍入数字以纠正不确定性?

时间:2019-04-06 10:26:18

标签: python significant-digits uncertainty

在python中,我有一个数字:// Code to show the loader here Handler(Looper.getMainLooper()).postDelayed({ // Code to show the recyclerview here }, 2000)

由于不确定性四舍五入为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

1 个答案:

答案 0 :(得分:1)

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

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

默认值是两个有效数字,但是有一个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