Преобразование PyCall PyObject Decimal в Julia Float - PullRequest
0 голосов
/ 02 марта 2019

При использовании PyCall в Julia и MySQLdb из python результат моего запроса на выборку находится в PyObject,

Десятичный PyObject ('10 ')

Какпреобразовать его в обычный Float, чтобы я мог получить только 10?

Я пробовал версию на python, float (response), но она не работает, так как я в Джулии.

Ответы [ 2 ]

0 голосов
/ 02 марта 2019

Вы действительно можете позвонить float через PyCall.convert в Float64 или BigFloat также должны работать.

julia> d = pyimport("decimal");

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

julia> py"float"(response)
10.0

julia> convert(Float64, response)
10.0
0 голосов
/ 02 марта 2019

Как указано в https://docs.julialang.org/en/v0.6.2/manual/conversion-and-promotion/, Это может быть сделано:

julia> convert (AbstractFloat, response)

10.0

Фактически он также может анализировать объекты Python.

...