1

我已经阅读了足够多的内容,以了解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的一些基础知识)。我不会回答这个问题,但我会选择第一个有正确答案的人。

4

1 回答 1

3

getcontext() 似乎是在 decimal 模块中定义的函数。假设您将使用十进制模块进行数学运算,那么您可以这样做:

从十进制导入 getcontext getcontext().prec = 10

这在 IronPython 2.6 和 2.7B1 上都适用于我。

但是,如果您打算使用 .NET 十进制类(通过 from System import Decimal),这将无效。

于 2010-12-08T02:49:57.743 回答