我正在使用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」問題,而且是許多編程語言的一個非常基礎的方面。 –