我找一些建议了Qt的程序我的工作,使用QWT绘制的线图。使用QPointF大双打
基本上我的问题出现在图表的X轴,这是在24:00时间。我有一个QPolygonF
存储了一系列保持值我的阴谋的曲线,其中X轴每1.0
相当于1秒QPointF
秒。然后,我使用unix时间戳为x轴设置每个值,所以基本上我已将double xAxis
初始化为0.0
,将其添加到QPolygonF
,如points.append(xAxis, yAxis)
用于曲线的开始,之后每个点使用currentTime - prevTime
来查找两个时间戳之间的差异然后使用+=
通过所述差异增加xAxis
。如果这是有道理的。
无论如何,目前一切都显示在整秒内,它的工作原理非常好。不过,我需要它精确到毫秒。我需要一些指导,正在处理大型高精度双打。
在几秒钟内处理unix时间戳很容易,因为可以用简单的int
完成,但是当您增加包含毫秒的位数时,double
s将切换为科学记数法。
我的问题是:如果存储可能很大的数字,如22429.388或更大,如果它们恢复为科学记数法?
谢谢并抱歉,如果这是一个非常基本的问题。
感谢您的回复!对不起,我的意思是图表显示在'hh:mm'中。它可能超过24小时。我目前使用'int',这对于'hh:mm:ss'的精度来说是非常好的。我会试着更清楚一点:我遇到的问题是使用大数字'double',我需要'QPointF'来保存绘图曲线的坐标。因为在转换为科学记数法之前双打只能保持6位数字,所以我能够拥有的最大“双”是999.999,大约16分钟。如果'currentTime - prevTime'之间的差异超过17分钟,我无法计算它。 – mrwolf
double比你说的要精确得多。如果你只有三位数字,那只是你不打印正确。你在哪里看到999.999是你能获得的最大价值? – jpo38