我正在使用SWIG将我的C++代码封装到Python中。但浮点数的转换很奇怪。 例如,如果我在PythonC++浮点到Python float错误转换
>>> import mymodule
>>> mymodule.foo()
62.02000045776367
>>>
具有低于函数(用C++编写)
float foo() {
float x=62.02;
return x;
}
并执行它(与SWIG包装后)它返回62.02000045776367
代替62.02
。
有没有办法告诉SWIG如何进行正确的转换?
这是一个愚蠢的问题。我没有注意到我使用了错误的类型。使用'double'解决了所有问题。谢谢大家!!! –
@CaioS。,仍然阅读链接。这不仅仅是一个“float”与“double”问题,而且是许多编程语言的一个非常基础的方面。 –