首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >python浮动精度来自boost-python子模块

python浮动精度来自boost-python子模块
EN

Stack Overflow用户
提问于 2016-07-14 11:18:21
回答 1查看 71关注 0票数 0

我为我的PyQt程序制作了一个带有boost-python的cpp子模块,其中包括从zip数据文件中提取一些数据。

在python中测试它时,它工作得很好:

代码语言:javascript
复制
import BPcmods
BPzip = BPcmods.BPzip()
BPzip.open("diagnostics/p25-dev.zip")
l=BPzip.getPfilenames()
t=BPzip.getTempArray([l[1][4],l[1][3]],40.)
print(t[11][:10])

>> [40.1, 40.44, 40.78, 41.11, 41.44, 41.77, 41.77, 42.09, 42.41, 42.73]

如果我将相同的代码放在我的部件的开头,它也会给出相同的数据,但是如果我在调用后立即将代码放入

代码语言:javascript
复制
main.app = QtGui.QApplication(sys.argv)

它突然屈服:

代码语言:javascript
复制
[40.0, 40.0, 40.0, 41.0, 41.0, 41.0, 41.0, 42.0, 42.0, 42.0]

为什么??发生了什么?这些数字仍然是浮动的,但突然之间它们被舍入到最近的整数?!?

EN

回答 1

Stack Overflow用户

发布于 2016-07-15 07:51:41

这与使用std::stod将数据字符串从数据文件转换为双字节有关。我不知道为什么,但改到:

代码语言:javascript
复制
boost::algorithm::trim(s);
double val = boost::lexical_cast<double>(s);

让它按原来的方式工作,也是在比克特。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38372786

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档