您现在的位置:程序化交易>> 股票公式>> 通达信>> 通达信知识>>正文内容

[求助]每月1号的日期如20130701为什么变成了20130700? [通达信]

  • 咨询内容: 每月1号的日期如20130701、20130801等为什么变成了0号?
    具体是这样的:
    AAA:20130701;
    显示是“20130700.00”。以至于
    BBB:DATETODAY(AAA-19000000);
    无输出。
    为什么会这样?请老师解答。

     

  • 通达信技术部:

    你要达到什么目的 ?

     

    DATE+19000000;
    DATE;

     
    此主题相关图片如下062803.jpg:

    这样对比他们之间的 大小不是一个数量级的 所以那个1的差距 在计算的时候可能是0.01的差别   你要显示正确日期可以换种方式处理

     

     

    {月日:MOD(DATE,10000);
    年份:INTPART(DATE/10000)+1900;

    }

     

  • 通达信客服:

    月日:MOD(DATE,10000);
    年份:INTPART(DATE/10000)+1900;
    DATE;
    DATE+19000000;
    DATE*100+19000000;
    DATE*100+19000000-19000000;

     

     

     


    此主题相关图片如下062804.jpg:

     

    用你这个方法 那一天都可能出问题   那个不足1的 到哪一天 哪天就不正常   你也没法儿找规律的

     


     

     

  • 网友交流: queenkeshi 老师您好!
    我的问题是,为什么20130201变成了20130200、20130301变成了20130300,等等。
    同样的问题还有:
    {问题}
    如20130801=:20130801;
    又20130801+1=:20130801+1;
    又20130801+2=:20130801+2;
    又20130802=:20130802;
    又20130802+1=:20130802+1;
    又20130802+2=:20130802+2;

    我的目的是,设定一个目标日期用于效验项目。

     

  • 网友交流:

    数值内部处理时使用的是浮点数,数值只能精确到数据的大约千万分之一,

     

    对于20130701来说,结果可能会在(+/-)1范围内.

     

     

    而1130701的较小些数的误差可以采用一定方法抹去.

    用到8位数的计算的都会有这个问题。。。。具体说下你要实现什么 看看如何弄

 

有思路,想编写各种指标公式,程序化交易模型,选股公式,预警公式的朋友

可联系技术人员 QQ: 1145508240  有需要帮忙请点击这里留言!!!进行 有偿 编写!不贵!点击查看价格!


【字体: 】【打印文章】【查看评论

相关文章

    没有相关内容