欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件高级功能研发区 → 动态权益获得有问题

   

欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。    


  共有4225人关注过本帖树形打印复制链接

主题:动态权益获得有问题

帅哥哟,离线,有人找我吗?
gamexumeng
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游民 帖子:130 积分:0 威望:0 精华:0 注册:2016/5/4 18:36:58
动态权益获得有问题  发帖心情 Post By:2016/6/17 20:23:58 [只看该作者]


此主题相关图片如下:qq截图20160617201501.jpg
按此在新窗口浏览图片

此主题相关图片如下:qq截图20160617201702.jpg
按此在新窗口浏览图片

 

第一个截图是 20:15分,第二个截图是20:17 分,少了;

 

我为什么会截图,是因为我想问的是:

 

FLOAT ival = g_pMainFormework->GetAccount2(6, szAcc).fltVal;

我通过这个代码拿出来的 ival , 居然只有整数部分,截图可以看到,没有小数部分,所以我想截图问这个问题,然后2分钟后,动态权益,居然变了。。。

 

实际上,在此之前几分钟,我通过这个代码拿出来的整数值,和金字塔的都不一样,差了1000多,我忘了截图,关了重开。


 回到顶部
帅哥哟,离线,有人找我吗?
admin
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:7302 积分:32559 威望:1000 精华:45 注册:2003/12/30 16:34:32
  发帖心情 Post By:2016/6/19 14:46:13 [只看该作者]

这个问题主要是因为返回值是float类型,只有4个字节长度,数字越大后,数值的精度会下降

 回到顶部
帅哥哟,离线,有人找我吗?
gamexumeng
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游民 帖子:130 积分:0 威望:0 精华:0 注册:2016/5/4 18:36:58
  发帖心情 Post By:2016/6/20 9:06:12 [只看该作者]

不能给出来这么个解释啊,明显是你们四舍五入了。 你们查查看吧

 回到顶部
帅哥哟,离线,有人找我吗?
gamexumeng
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游民 帖子:130 积分:0 威望:0 精华:0 注册:2016/5/4 18:36:58
  发帖心情 Post By:2016/6/20 9:07:55 [只看该作者]

至于为什么会少了1.08 我就不知道了,只能说可能有奇怪的bug

 回到顶部
帅哥哟,离线,有人找我吗?
gamexumeng
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游民 帖子:130 积分:0 威望:0 精华:0 注册:2016/5/4 18:36:58
  发帖心情 Post By:2016/6/21 10:20:51 [只看该作者]

这个问题你们给解答一下啊,你们四舍五入了,不是精度问题,如果余额大于0.5 ,就是进1, 这显然是四舍五入了。我需要拿到精确的动态权益值,不是精确到元啊

 回到顶部
帅哥哟,离线,有人找我吗?
admin
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:7302 积分:32559 威望:1000 精华:45 注册:2003/12/30 16:34:32
  发帖心情 Post By:2016/6/21 10:32:25 [只看该作者]

这个暂时没办法,只能后面将这个字段升级到double字段后才能解决你说的问题,但是我们要考虑到已有的客户,不能盲目升级

 回到顶部
帅哥哟,离线,有人找我吗?
gamexumeng
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游民 帖子:130 积分:0 威望:0 精华:0 注册:2016/5/4 18:36:58
  发帖心情 Post By:2016/6/21 10:54:11 [只看该作者]

可是你们自己的权益为什么是对的呢?

 回到顶部
帅哥哟,离线,有人找我吗?
gamexumeng
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游民 帖子:130 积分:0 威望:0 精华:0 注册:2016/5/4 18:36:58
  发帖心情 Post By:2016/6/21 10:54:35 [只看该作者]

只要你能把自己的权益原封不动的给我们就可以了啊

 回到顶部
帅哥哟,离线,有人找我吗?
admin
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:7302 积分:32559 威望:1000 精华:45 注册:2003/12/30 16:34:32
  发帖心情 Post By:2016/6/21 10:57:29 [只看该作者]

你自己去吧一个 double 类型的 1000万的你上面显示的数字去赋值给一个 float型的浮点数自己试试就知道了,这个是基本的编程常识,我们不做过多的解释

 回到顶部
帅哥哟,离线,有人找我吗?
gamexumeng
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游民 帖子:130 积分:0 威望:0 精华:0 注册:2016/5/4 18:36:58
  发帖心情 Post By:2016/6/21 11:38:56 [只看该作者]

这话说的,这个怎么是编程的基本常识,你们如果用了float,那么float的范围是:3.4*10^-38 ~3.4*10^38或者-(3.4*10^-38 ~3.4*10^38) ,

现在你们的问题是 你们自己把double 赋值给了 float,这个我哪里能知道呢? 既然你们用了double,为什么给用户返回的是 float?
你们返回的 VARAINT 变量应该是 DOUBLE 类型的,你们自己处理错了,这个才是编程常识啊。
FLOAT ival = g_pMainFormework->GetAccount2(6, szAcc).fltVal;
--> 应该是:
DOUBLE ival =_pMainFormework->GetAccount2(6, szAcc).dblVal;

如果考虑到兼容性问题,那么是不是可以用一个 新的type来获得 double值呢?

 回到顶部
总数 11 1 2 下一页