【问题标题】:Retrive value list of Decimal Type without class name检索没有类名的十进制类型的值列表
【发布时间】:2020-05-31 05:30:35
【问题描述】:

当我在 django 中运行此查询时:

list(InputDataDetailItem.objects.filter(wage_detail__wage=wage).values_list('value',flat=True))

我明白了:

[Decimal('30.00'), Decimal('0.00'), Decimal('0.00')]

但我想要:

[30.00,0.00,0.00]

我该怎么做? 谢谢。

【问题讨论】:

    标签: django list decimal django-queryset


    【解决方案1】:

    那是因为它(很可能)是DecimalField [Django-doc]。您可以通过在它们上调用float 来转换它们:

    [   float(x)
        for x in InputDataDetailItem.objects.filter(
            wage_detail__wage=wage
        ).values_list('value',flat=True)]

    请注意,由于 Decimal 对数字进行编码,而浮点数对二进制进行编码,因此可能存在(小)舍入错误。

    【讨论】:

      猜你喜欢
      • 2022-01-22
      • 1970-01-01
      • 2019-04-27
      • 2012-07-17
      • 1970-01-01
      • 2011-03-15
      • 1970-01-01
      • 1970-01-01
      • 2013-01-12
      相关资源
      最近更新 更多