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



我需要将值作为类'十进制'传递给字典。十进制",并且以下情况不断发生:

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

那么我哪里出错了呢?

我看不出有什么理由对这个问题投反对票。

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

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

{ key: value [, repeat]}

如果你想在你的字典里的值,你必须像这样去指定的键:

print(item[transaction_amount])

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

编辑:值得注意的是,由于您在字典对象中得到的是Decimal(100.03),即使打印我之前显示的键值对的值,您也不会得到纯 100.03,但可能Decimal(100.03)

我将搜索一些有关如何获取字符串的文档。 Welp显然没有,它应该像一个魅力一样工作。

编辑:我没有正确回答问题(从那时起一直在编辑)。
但是,由于评论部分中的扩展对话,它将保留在此处。

最新更新