以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://weistock.com/bbs/index.asp) -- 高级功能研发区 (http://weistock.com/bbs/list.asp?boardid=5) ---- VBA 日期计算Bug,怎么解决? (http://weistock.com/bbs/dispbbs.asp?boardid=5&id=141010) |
-- 作者:c100010222 -- 发布时间:2016/10/16 0:27:26 -- VBA 日期计算Bug,怎么解决? VBA自定义函数 Function CS03(Formula,dd,tt) CS03=day
PEL命令 dd0:=DATE();
消息显示(只计算20根K线,日k线) 2016/10/16 00:24:15 20160908
问题:没有单数的日期,只有偶数日期,为什么?
不加19000000时,消息显示是正确的。
|
-- 作者:马良 -- 发布时间:2016/10/16 6:52:14 -- 不明白你的逻辑,为何要加1900000? |
-- 作者:c100010222 -- 发布时间:2016/10/16 9:41:01 -- 你以为我想加啊,这是你们程序的bug,取日期函数dd0:=DATE();比如日期2016-10-16返回值是1161016, 但是VBA里有些函数又要用到“2016-10-16”,所以加19000000。
|
-- 作者:c100010222 -- 发布时间:2016/10/16 9:54:37 -- 不管怎么样,我发现VBA的变量,数据大的计算就会出错,例如,1161017+19000000 显示结果20161016,什么原因? |
-- 作者:王锋 -- 发布时间:2016/10/17 21:20:51 -- msgbox 1161017+19000000 这样简单测试重现不了你说的问题,可能的原因是浮点数的精度造成的,你试试这样改进 dim day day=CLng(dd)+19000000 [此贴子已经被作者于2016-10-17 21:21:29编辑过]
|