Boost.Python不相等的float值

时间:2019-03-15 07:16:27

标签: python c++ boost

我简单的python模块包括功能:

double pymod::PI()
{
    return 3.141592654f;
}

double pymod::Calc()
{
    return 2.f / 3.f;
}

BOOST_PYTHON_MODULE(pymod)
{
    using namespace boost::python;
    def("PI", pymod::PI);
    def("CALC", pymod::Calc);
}

python中的期望值是0.6666666666666666和3.141592654或以任何方式与expacting匹配的值。而是用Python打印

0.6666666865348816
3.1415927410125732

我的问题是:这种差异来自何处以及如何解决?

几乎无法提及的python脚本:

import pymod

print(pymod.PI())
print(pymod.CALC())

谢谢您的帮助。

0 个答案:

没有答案