Thanks, Yes that's correct. I was completely looking in the wrong direction. 
Also your comment about using DateNum() is correct. I did solve the problem now 
the other way around. In fact the solution is DateNum(). Thanks again ...

Regards, Ton.


  ----- Original Message ----- 
  From: Tomasz Janeczko 
  To: [email protected] 
  Sent: Thursday, April 02, 2009 3:48 PM
  Subject: Re: [amibroker] String problem or what am I doing wrong ?



  No, you don't understand.

  Did you read "Range and Precision table" 
  http://en.wikipedia.org/wiki/IEEE_754-1985 
  carefully enough?

  32 bit floating point has 24 bit mantissa and 8 bit exponent
  Now calculate 2^24 .

  It is:
  16777216

  Any *INTEGER* larger than that is subject to rounding in IEEE standard.

  Best regards,
  Tomasz Janeczko
  amibroker.com
    ----- Original Message ----- 
    From: Ton Sieverding 
    To: [email protected] 
    Sent: Thursday, April 02, 2009 3:40 PM
    Subject: Re: [amibroker] String problem or what am I doing wrong ?


    Thanks Tomasz. Yes I understand that the 32bit standard has it's 
limitations. But why am I getting correct answers for all other values ? Why is 
just '1' giving me a problem ? Has this to do with precision and will I always 
get a zero for '1' where other values give me the correct result ? Because 
that's what I see but do not understand. If I should have a proper answer for 
that, it's rather simple to modify the result accordingly with string 
manipulation ...

    Problem with DateNum() for me is the difference in result before and after 
2000. After 2000 gives me '1YY' etc. before 2000 'YY' ... So 2004 becomes 
'104'. For 1950 I am getting '50' ... Of course there is a solution for that 
also ...

    Regards, Ton.

      ----- Original Message ----- 
      From: Tomasz Janeczko 
      To: [email protected] 
      Sent: Thursday, April 02, 2009 2:58 PM
      Subject: Re: [amibroker] String problem or what am I doing wrong ?


      All numbers in AB are industry standard 32-bit FLOATING point
      which gives you 7 significant digits.

      See "Range and Precision table" here:
      http://en.wikipedia.org/wiki/IEEE_754-1985

      So you should use
      YYYMMDD encoding instead (the same as DateNum() is using)

      Best regards,
      Tomasz Janeczko
      amibroker.com
      ----- Original Message ----- 
      From: "amsiev" <[email protected]>
      To: <[email protected]>
      Sent: Thursday, April 02, 2009 2:22 PM
      Subject: [amibroker] String problem or what am I doing wrong ?

      > DatStr = "20040101";
      > _TRACE("Datum "+DatStr);
      > DatNum = StrToNum(DatStr);
      > _TRACE("Datum "+WriteVal(DatNum,0,False));
      > 
      > First Trace gives : 20040101 Day=01
      > But second gives : 20040100 Day=00
      > 
      > No do the same with following string :
      > DatStr = "20040102";
      > 
      > Both Traces give 20040102. Only when Day=01 I have the above
      > problem. Something wrong or what am I doing wrong ?
      > Please do not come with Date solutions. I know that ...
      > 
      > Regards, Ton.
      > 
      > 
      > 
      > ------------------------------------
      > 
      > **** IMPORTANT PLEASE READ ****
      > This group is for the discussion between users only.
      > This is *NOT* technical support channel.
      > 
      > TO GET TECHNICAL SUPPORT send an e-mail directly to 
      > SUPPORT {at} amibroker.com
      > 
      > TO SUBMIT SUGGESTIONS please use FEEDBACK CENTER at
      > http://www.amibroker.com/feedback/
      > (submissions sent via other channels won't be considered)
      > 
      > For NEW RELEASE ANNOUNCEMENTS and other news always check DEVLOG:
      > http://www.amibroker.com/devlog/
      > 
      > Yahoo! Groups Links
      > 
      > 
      > 



  

Reply via email to