Настройка точности в приложении IronPython?

Я прочитал достаточно, чтобы увидеть, что getcontext().prec - это то, как установить точность в обычном файле Python.

getcontext().prec = 100;
for i in range(1, 100):
    print 1.0 / i;

Но когда я выполняю это в IronPython, я получаю:

NameError: глобальное имя «getcontext» не определено

Есть ли альтернативный способ изменить это, или у IronPython нет такой роскоши?

Вот моя информация о версии для VS и IronPython:

Microsoft Visual Studio 2010
Version 10.0.30319.1 RTMRel
Microsoft .NET Framework
Version 4.0.30319 RTMRel

IronPython Tools for Visual Studio   1.0
IronPython Tools for Visual Studio provides intellisense, project support, project and item templates, as well as a REPL window for IronPython development.

РЕДАКТИРОВАТЬ: Глупый я, я обнаружил ответ сразу после публикации этого (все еще изучая некоторые основы python). Я не собираюсь отвечать на это, но я выберу первого человека, у которого есть правильный ответ.


person Corey Ogburn    schedule 07.12.2010    source источник


Ответы (1)


getcontext() может показаться функцией, определенной в десятичном модуле. Предполагая, что вы собираетесь использовать десятичный модуль для математики, вы можете просто сделать:

из десятичного импорта getcontext getcontext().prec = 10

У меня это работает как на IronPython 2.6, так и на 2.7B1.

Но если бы вы изо всех сил пытались использовать десятичный класс .NET (через System import Decimal), это не имело бы никакого эффекта.

person Dino Viehland    schedule 08.12.2010