将Decimal(str(value))传递给字典以获取原始值

时间:2018-04-22 13:35:32

标签: python dictionary decimal amazon-dynamodb boto3

我需要将值作为类'decimal.Decimal'传递给字典,并且以下情况继续发生:

from decimal import *

transaction_amount = 100.03
transaction_amount = Decimal(str(transaction_amount))
item = {
'transaction_amount': transaction_amount
}

print(item)

结果:

{'transaction_amount': Decimal('100.03')}

如何获得原始100.03结果,而不是十进制('100.03')?

这就是我希望字典保存的内容:

{'transaction_amount': 100.03)}

当我这样做时:

print(transaction_amount)

结果如预期:

100.03

那我哪里错了?

我认为没有理由为什么要对这个问题进行投票。

1 个答案:

答案 0 :(得分:0)

当你让python打印一个对象时,它会打印该对象的文本表示。

这里你的变量项是一个字典,所以它的表示如下:

{ key: value [, repeat]}

如果您想要字典中的值,则必须按照指定的键进行操作:

print(item[transaction_amount])

所以基本上,你的代码很好,你也使用了小数,但是你并没有以好的方式测试它。 ;)发生了很多。

修改 值得注意的是,因为你在dictionnary对象中获得的是Decimal(100.03),即使在我之前显示的那样打印键值对的值时,你也不会获得纯粹的100.03,但可能是Decimal(100.03)

我会搜索一些关于如何获取字符串的文档。 Welp显然不是,它应该像魅力一样工作。

编辑:我没有得到问题(自那时起已经编辑过)。
但是,由于评论部分中的扩展对话,它将保留在此处。