我需要将值作为类'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
那我哪里错了?
我认为没有理由为什么要对这个问题进行投票。
答案 0 :(得分:0)
当你让python打印一个对象时,它会打印该对象的文本表示。
这里你的变量项是一个字典,所以它的表示如下:
{ key: value [, repeat]}
如果您想要字典中的值,则必须按照指定的键进行操作:
print(item[transaction_amount])
所以基本上,你的代码很好,你也使用了小数,但是你并没有以好的方式测试它。 ;)发生了很多。
修改强>
值得注意的是,因为你在dictionnary对象中获得的是Decimal(100.03)
,即使在我之前显示的那样打印键值对的值时,你也不会获得纯粹的100.03,但可能是Decimal(100.03)
。
我会搜索一些关于如何获取字符串的文档。 Welp显然不是,它应该像魅力一样工作。
编辑:我没有得到问题(自那时起已经编辑过)。
但是,由于评论部分中的扩展对话,它将保留在此处。