【问题标题】:Adding a large number with a small number in Python在 Python 中将大数与小数相加
【发布时间】:2015-01-30 18:05:14
【问题描述】:

我在 python 中编写了一个程序,该程序有一个高值 (T) 和另一个低值 (a) 的数字。当我把它们加起来时,由于它的价值低,这个小数字被忽略了。我该如何解决这个问题。我的程序中出现这个问题的部分如下。

import random
lambd = 110
T = 56562719533.0
a = random.expovariate(lambd)
T2 = T + a
print T
print T2

【问题讨论】:

  • 你怎么知道它被忽略了?
  • 我不认为它被忽略了。它只是没有出现在 print 中。
  • @khelwood 这正是我希望提出的观点。有趣的是,在 python3 中,数字 的打印方式不同。

标签: python python-2.7 add largenumber


【解决方案1】:

您确实添加了小数字,但没有打印足够的有效数字来查看它。

import random
lambd = 110
T = 56562719533.0
a = random.expovariate(lambd)
T2 = T + a
print a
print T
print '%.10f' % T2
# prints: 0.00436707252696
# prints: 56562719533.0
# prints: 56562719533.0043640137

'%.10f' 告诉 Python 打印小数点后 10 位。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-12
    • 1970-01-01
    • 1970-01-01
    • 2016-07-01
    • 1970-01-01
    • 2021-06-03
    相关资源
    最近更新 更多