2010-12-07 5 views
1

Ich habe genug herum gelesen, um zu sehen, dass getcontext().prec wie die Genauigkeit in einer normalen Python-Datei festgelegt wird.Genauigkeit in einer IronPython-App festlegen?

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

Aber wenn ich dies in Ironpython ausführen, erhalte ich:

Nameerror: global name ‚getContext‘ definiert ist, nicht

Gibt es eine alternative Möglichkeit, dies zu ändern, oder ist Ironpython nicht erhalten dieser Luxus?

Hier ist meine Version Info für VS und 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. 

EDIT: Dumm mich, entdeckte ich die Antwort direkt nach dieser Veröffentlichung (noch einige der Grundlagen von Python zu lernen). Ich werde das nicht beantworten, aber ich werde die erste Person auswählen, die die richtige Antwort hat.

Antwort

3

getcontext() scheint eine Funktion zu sein, die im dezimalen Modul definiert ist. Unter der Annahme, Sie gehen das Dezimalsystem Modul für Mathematik zu verwenden, dann können Sie einfach tun:.

aus Dezimalzahl Import getContext getContext() prec = 10

, die auf beiden Ironpython für mich funktioniert 2.6 und 2.7B1 .

Wenn Sie jedoch die .NET-Dezimalklasse verwenden (via Systemimport Dezimal), hätte dies keine Auswirkungen.

Verwandte Themen