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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件高级功能研发区 → VBA基础

   

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


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

主题:VBA基础

帅哥哟,离线,有人找我吗?
黄金精算师
  21楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:黑侠 帖子:836 积分:0 威望:0 精华:0 注册:2014/12/26 11:47:55
  发帖心情 Post By:2016/4/20 9:03:46 [只看该作者]

找到上面显示的原因了,可以说一下这是什么吗?
 VBA计算结DATA=  3038.6  - 3000    '这个结果本应等于38.6的,可实结果为38.59999666
这个是普通加减法应该没有尾数
有人说是机制,浮点,不知在哪里可设置他? 

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


加好友 发短信
等级:超级版主 帖子:21598 积分:0 威望:0 精华:1 注册:2010/7/31 16:35:30
  发帖心情 Post By:2016/4/20 9:59:55 [只看该作者]

行情数据内部有浮点误差,一样的处理,用round取四舍五入下


 回到顶部
帅哥哟,离线,有人找我吗?
黄金精算师
  23楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:黑侠 帖子:836 积分:0 威望:0 精华:0 注册:2014/12/26 11:47:55
  发帖心情 Post By:2016/4/20 10:00:46 [只看该作者]

DATA=  3038.6  - 3000,这可是实数,不参于行情呀

 回到顶部
帅哥哟,离线,有人找我吗?
黄金精算师
  24楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:黑侠 帖子:836 积分:0 威望:0 精华:0 注册:2014/12/26 11:47:55
  发帖心情 Post By:2016/4/20 10:05:50 [只看该作者]

我是在程序中直接写入参数进行计算,没有经过任何处理,直接算出结果
3038.6  - 3000=38.599999

 回到顶部
帅哥哟,离线,有人找我吗?
黄金精算师
  25楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:黑侠 帖子:836 积分:0 威望:0 精华:0 注册:2014/12/26 11:47:55
  发帖心情 Post By:2016/4/20 10:20:47 [只看该作者]

程序是这样写的
 DATA=  3038.6  - 3000    
       bk_TextBox11.text=DATA     //这个的显示结果就是38.599999

 回到顶部
帅哥哟,离线,有人找我吗?
黄金精算师
  26楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:黑侠 帖子:836 积分:0 威望:0 精华:0 注册:2014/12/26 11:47:55
  发帖心情 Post By:2016/4/20 10:23:00 [只看该作者]

DATA=  3038.6  - 3000    '利润
       bk_TextBox11.text=DATA
       application.msgout Cdate(time) & ",这个数据是38.6吗:" &DATA


这两个的结果都是38.5999999

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


加好友 发短信
等级:超级版主 帖子:21598 积分:0 威望:0 精华:1 注册:2010/7/31 16:35:30
  发帖心情 Post By:2016/4/20 10:34:22 [只看该作者]

因为计算机语法里浮点数就有小数位

您自己写个c程序去定义float类型小数,然后计算下结果就能明白


 回到顶部
总数 27 上一页 1 2 3