Solved

Real Value to Integer.....

Posted on 1998-09-29
4
1,406 Views
Last Modified: 2008-03-10
Hey folks..

I need to know how to cast a floating point value into an
integer..

Suppose I have declared two variables..

i: Integer;
e: Extended;

Then

i := e;              //Doesn't work
i := Int(e);         //Doesn't work
i := FloatToInt(e);  //Doesn't work
i := Integer(e);     //Doesn't work

What do I do to make this work??
0
Comment
Question by:lar_jens
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 2
4 Comments
 
LVL 5

Expert Comment

by:JimBob091197
ID: 1341118
You have to round the float to get the integer:

i := Round(e);

Cheers,
JB
0
 

Accepted Solution

by:
gaona earned 100 total points
ID: 1341119
You have to Trunc the float to get the integer:

i := Trunc(e);

Regards,
Gaona

0
 
LVL 4

Expert Comment

by:erajoj
ID: 1341120
Hah!
You're wrong all of you! Here's the real way to do it:

    i := StrToInt( Copy( Format( '%g', [ e ] ), 1, Pos( DecimalSeparator, Format( '%g', [ e ] ) ) - 1 ) ) +
         StrToInt( Copy( Format( '%g', [ Frac( e ) + 0.5 ] ), Pos( DecimalSeparator, Format( '%g', [ Frac( e ) + 0.5 ] ) ) - 1, 1 ) );

;->

BTW, use JimBob's solution. Never use Trunc unless it is exlplicitly stated that all decimals should be neglected.

/// John
0
 

Expert Comment

by:gaona
ID: 1341121
If you want to round the value of the variable ' e' for the whole closer, discarding its decimals, use the function:  
 
i:=trunc(e+0.5)  
 
that substitutes the function i:=round(e).  
 
thank you for the points.  
 
gaona
0

Featured Post

Enroll in July's Course of the Month

July's Course of the Month is now available! Enroll to learn HTML5 and prepare for certification. It's free for Premium Members, Team Accounts, and Qualified Experts.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Creating an auto free TStringList The TStringList is a basic and frequently used object in Delphi. On many occasions, you may want to create a temporary list, process some items in the list and be done with the list. In such cases, you have to…
In my programming career I have only very rarely run into situations where operator overloading would be of any use in my work.  Normally those situations involved math with either overly large numbers (hundreds of thousands of digits or accuracy re…
Monitoring a network: why having a policy is the best policy? Michael Kulchisky, MCSE, MCSA, MCP, VTSP, VSP, CCSP outlines the enormous benefits of having a policy-based approach when monitoring medium and large networks. Software utilized in this v…
Do you want to know how to make a graph with Microsoft Access? First, create a query with the data for the chart. Then make a blank form and add a chart control. This video also shows how to change what data is displayed on the graph as well as form…
Suggested Courses
Course of the Month3 days, 21 hours left to enroll

630 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question