【问题标题】:How to convert Decimal() to a number in Python? [closed]如何在 Python 中将 Decimal() 转换为数字? [关闭]
【发布时间】:2016-06-17 06:52:01
【问题描述】:

我的 JSON 输出是 Decimal('142.68500203')

我可以使用 str() 来获取一个字符串 "142.68500203"。但我想得到一个数字输出,即142.68500203

如何在 Python 中进行转换?

【问题讨论】:

  • Decimal 是什么?你试过调用浮动吗?
  • float(…) - 当然str() 会给你一个字符串,这就是重点。如果您想要不同的类型,则需要使用该类型的转换器。
  • 为什么要转换它? JSON 输出是 Decimal 的原因是您不会以这种方式丢失任何精度。浮点数可能无法准确存储数字。

标签: python


【解决方案1】:

这取决于您所说的“数字”是什么意思,可以说Decimal 是一个数字类。如果您的意思是进入float 类的对象,那么:

from decimal import Decimal

x = Decimal('142.68500203')

y = float(x)

print x, y

给予:

142.68500203 142.68500203

但要小心!使用Decimal 有充分的理由,请在决定要使用float 之前阅读the Decimal documentation

【讨论】:

    【解决方案2】:

    这很容易:

    float("142.68500203")
    

    【讨论】:

    • 没有要求将字符串转换为浮点数。
    猜你喜欢
    • 1970-01-01
    • 2021-08-10
    • 1970-01-01
    • 2014-07-07
    • 1970-01-01
    • 2010-09-05
    • 1970-01-01
    • 1970-01-01
    • 2010-11-05
    相关资源
    最近更新 更多