所以我正在编写一组运行 Python 脚本的 C++ 类。我已经让代码可以从指定的目录运行我想要的任何脚本,并且我可以很好地传递和返回值。
但是我遇到的一个问题是我似乎无法找到如何将 Python 设置为双打。例如,当我使用长值时,我可以使用“PyLong_AsLong([我试图从 PyObject 转换为长值的任何值])”——但是我可以使用 Python/C API 中的 PyDouble_Something为了那个原因?我的谷歌搜索到目前为止一无所获。
所以我正在编写一组运行 Python 脚本的 C++ 类。我已经让代码可以从指定的目录运行我想要的任何脚本,并且我可以很好地传递和返回值。
但是我遇到的一个问题是我似乎无法找到如何将 Python 设置为双打。例如,当我使用长值时,我可以使用“PyLong_AsLong([我试图从 PyObject 转换为长值的任何值])”——但是我可以使用 Python/C API 中的 PyDouble_Something为了那个原因?我的谷歌搜索到目前为止一无所获。
你想要PyFloat_AsDouble,不是吗?
我找到了答案。我错了,我认为 Python 中有双精度数,但实际上没有。我使用“PyFloat”对象让它工作,并像这样转换双精度:
“PyFloat_FromDouble([我想要作为 PyObject 的双精度])”