将 PyCall PyObject Decimal 转换为 Julia Float

Converting PyCall PyObject Decimal to Julia Float

在 python 的 Julia 和 MySQLdb 中使用 PyCall 时,我的 select 查询结果在 PyObject 中,

PyObject Decimal('10')

如何将其转换为纯 Float 以便我只能得到 10?

我尝试了 python 版本,float(response),但自从我在 Julia 中以来,它就不起作用了。

https://docs.julialang.org/en/v0.6.2/manual/conversion-and-promotion/中所述, 可以通过以下方式完成:

julia> convert(AbstractFloat,response)

10.0

其实它也可以解析Python个对象。

您实际上可以通过 PyCall 调用 floatconverting 到 Float64BigFloat 也应该有效。

julia> d = pyimport("decimal");

julia> response = d[:Decimal]("10")
PyObject Decimal('10')

julia> py"float"(response)
10.0

julia> convert(Float64, response)
10.0