我在我的 c++ 程序中嵌入了 python 代码。使用 PyFloat_AsDouble 会导致精度损失。它最多只能保留 6 位精度数字。我的程序对精度非常敏感。对此有已知的解决方法吗?以下是相关的 C++ 代码:
_ret = PyObject_CallObject(pFunc, pArgs);
vector<double> retVals;
for(size_t i=0; i<PyList_Size(_ret); i++){
retVals[i] = PyFloat_AsDouble(PyList_GetItem(_ret, i));
}
retVals[i] 的精度只有 6,而 python 代码返回的值是一个浮点数,可以有更高的精度。如何获得全精度?