comp.lang.ada
 help / color / mirror / Atom feed
* Truncation of FLOATS
@ 1990-01-10 18:06 S Johal
  1990-01-10 21:35 ` Truncation of FLOATs William Thomas Wolfe, 2847 
  0 siblings, 1 reply; 2+ messages in thread
From: S Johal @ 1990-01-10 18:06 UTC (permalink / raw)


Hello ADA experts,

One of my colleagues has a problem which I hope somebody has an easy solution
to. Basically he is after the whole number part of a floating point number. We
found no way in ADA to directly implement it, so we tried something like:

    ROUNDED := INTEGER(FLOATING_NUMBER);
    if FLOATING_NUMBER - ROUNDED >= 0.0 then
      TRUNCATED_PART := ROUNDED;
    else
      TRUNCATED_PART := ROUNDED - 1;
    end if;

examples:  FLOATING_NUMBER       ROUNDED      TRUNCATED_PART
           6.4                   6            6
           6.6                   7            6
the problem is:
           7.0                   7            6 ??? when it should be 7

We have checked what 7.0 - 7.0 gives, and its not 0.0, which is the problem I
suppose. My colleague knows about converting to a string and taking off the
integer bit, but this is inefficient.

Any ideas ?

*-------------------------------------------*----------------------------*
*  Subindrao Johal,                         *++++++++++++++++++++++++++++*
*  SARI Project,                            *  tel:   031 668 1550 x219  *
*  Department of Electrical Engineering,    *  fax:   031 662 4678       *
*  University of Edinburgh,                 *  email: ssj@sari.ed.ac.uk  *
*  The King's Buildings, Edinburgh EH9 3JL  *++++++++++++++++++++++++++++*
*------------------------------------------------------------------------*

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~1990-01-10 21:35 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
1990-01-10 18:06 Truncation of FLOATS S Johal
1990-01-10 21:35 ` Truncation of FLOATs William Thomas Wolfe, 2847 

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox