Итак, я решил попытаться решить домашнюю работу по физике, написав скрипты python для решения проблем для меня. Одна из проблем, с которыми я сталкиваюсь, заключается в том, что значимые цифры не всегда кажутся правильными. Например, это обрабатывает значащие цифры правильно:Значительные цифры в десятичном модуле
from decimal import Decimal
>>> Decimal('1.0') + Decimal('2.0')
Decimal("3.0")
Но это не делает:
>>> Decimal('1.00')/Decimal('3.00')
Decimal("0.3333333333333333333333333333")
Так два вопроса:
- Правильно ли я, что это не ожидаемый объем Значимые цифры, или мне нужно освежить значительную цифровую математику?
- Есть ли способ сделать это, не устанавливая десятичную точность вручную? Конечно, я уверен, что могу использовать numpy для этого, но я просто хочу знать, есть ли способ сделать это с десятичным модулем из любопытства.
Это не всегда так. Например: >>> Decimal ('1.0') * Decimal ('1.0') дает десятичное значение («1.00») Возможно, вы говорите это в контексте деления? – 2008-09-27 18:57:15