是否有任何Python功能可以通过括号来格式化测量和不确定性?

时间:2015-12-01 22:25:19

标签: python formatting

例如,假设我从计算中得到这些数字:

17.969860,不确定性5.966e-05

0.01202,不确定度0.001749

我希望以这种方式格式化它们:

17.96986(6),0.012(2)

是否存在以这种方式自动对具有不确定性的测量进行格式化的功能?

谢谢。

1 个答案:

答案 0 :(得分:1)

不,你必须自己编码:

import math
def str_with_err(value, error):
    digits = -int(math.floor(math.log10(error)))
    return "{0:.{2}f}({1:.0f})".format(value, error*10**digits, digits)

print str_with_err(17.969860, 5.966e-05)
# 17.96986(6)
print str_with_err(0.01202, 0.001749)
# 0.012(2)