在IronPython应用程序中设置精度?

时间:2010-12-07 21:03:37

标签: ironpython arbitrary-precision

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

1 个答案:

答案 0 :(得分:3)

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

来自十进制导入getcontext getcontext()。prec = 10

这对IronPython 2.6和2.7B1都适用。

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