scinum
scinum copied to clipboard
0.0 is not a float?
I just tripped on the fact that
num = Number(0., (+2, 0.))
print(num)
print(num.str('publication'))
# Same result for the next two
#print(num.str('pdg'))
#print(num.str('pdg+1'))
yields
0.0 +2.0-0.0
Traceback (most recent call last):
File "/Users/adavid/workspace/Code_bits/RatioErrors/BinomialPoissionErrors.py", line 36, in <module>
print(num.str('publication'))
^^^^^^^^^^^^^^^^^^^^^^
File "/Users/adavid/workspace/Code_bits/RatioErrors/.venv/lib/python3.12/site-packages/scinum/__init__.py", line 747, in str
nominal, uncs, _mag = round_value(nominal, uncs, method=format, **kwargs) # type: ignore[arg-type, assignment] # noqa
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/adavid/workspace/Code_bits/RatioErrors/.venv/lib/python3.12/site-packages/scinum/__init__.py", line 2573, in round_value
raise TypeError(f"uncertainties must be convertible to float: {_u}")
TypeError: uncertainties must be convertible to float: 0.0
I really do not understand why this is happening.