From: ssj@castle.ed.ac.uk (S Johal)
Subject: Truncation of FLOATS
Date: 10 Jan 90 18:06:08 GMT [thread overview]
Message-ID: <1550@castle.ed.ac.uk> (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 *++++++++++++++++++++++++++++*
*------------------------------------------------------------------------*
next reply other threads:[~1990-01-10 18:06 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
1990-01-10 18:06 S Johal [this message]
1990-01-10 21:35 ` Truncation of FLOATs William Thomas Wolfe, 2847
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox