【问题标题】:Calc correct result of 100.1+0.1 as string [duplicate]将 100.1+0.1 的正确结果计算为字符串 [重复]
【发布时间】:2015-01-17 13:01:04
【问题描述】:

如果我计算一些浮点样本的结果

>>> 100.1+0.1
100.19999999999999

如何得到正确的字符串“100.2”?
我使用 Py3.2 / Win。

【问题讨论】:

  • 那个流浪的=是错字吗?
  • 取决于你在做什么,这个结果实际上是正确的。

标签: python


【解决方案1】:

使用decimal.Decimal正确进行十进制浮点运算:

>>> import decimal
>>> decimal.Decimal('100.1') + decimal.Decimal('0.1')
Decimal('100.2')
>>> str(decimal.Decimal('100.1') + decimal.Decimal('0.1'))
'100.2'

【讨论】:

    猜你喜欢
    • 2018-08-27
    • 2016-08-16
    • 2011-08-04
    • 2017-04-10
    • 1970-01-01
    • 2021-10-05
    • 1970-01-01
    • 1970-01-01
    • 2019-11-21
    相关资源
    最近更新 更多