如何在python中键入浮点无限文字

时间:2010-05-27 09:04:24

标签: python floating-point portability numerical

如何在python中键入浮点无限文字?

我听说过

 inf = float('inf')

不可携带。因此,我有以下建议:

 inf = 1e400

这些是标准版还是便携版?什么是最佳做法?

3 个答案:

答案 0 :(得分:60)

python 2.6中,如果CPU支持它,它是可移植的

  

float()函数现在将转动   string nan into IEEE 754 Not A.   数值,+ inf和-inf成   正或负无穷大。这个   适用于IEEE 754的任何平台   语义。

答案 1 :(得分:15)

float('inf')是不可移植的,因为当平台之间的字符串输出不同时,不可移植回Python 2.5。从2.6及以后float('inf')保证可以在IEEE-754合规平台上运行(参考:http://www.python.org/dev/peps/pep-0754/)。

(推荐似乎在1e30000范围内,而不仅仅是1e400。)

答案 2 :(得分:11)

也许你可以做这样的事情

try:
    inf = float('inf')
except:  # check for a particular exception here?
    inf = 1e30000