format a measurement result and its error in "scientific" way

Ian Kelly ian.g.kelly at gmail.com
Fri Feb 17 01:29:27 CET 2012


On Thu, Feb 16, 2012 at 3:21 PM, Daniel Fetchinson
<fetchinson at googlemail.com> wrote:
> Thanks, it's simpler indeed, but gives me an error for value=1.267, error=0.08:
>
> Traceback (most recent call last):
>  File "/home/fetchinson/bin/format_error", line 26, in <module>
>    print format_error( sys.argv[1], sys.argv[2] )
>  File "/home/fetchinson/bin/format_error", line 9, in format_error
>    error_scale += error.scaleb( -error_scale ).to_integral(  ).adjusted(  )
>  File "/usr/lib64/python2.6/decimal.py", line 3398, in scaleb
>    ans = self._check_nans(other, context)
>  File "/usr/lib64/python2.6/decimal.py", line 699, in _check_nans
>    other_is_nan = other._isnan()
> AttributeError: 'int' object has no attribute '_isnan'
>
> Which version of python are you using?

2.7.1.  At a guess, it's failing because scaleb() (which was new in
2.6) is buggily expecting a decimal argument, but adjusted() returns an int.
Convert the results of the two adjusted() calls to decimals, and I
think it should be fine.



More information about the Python-list mailing list